[Resolvido]Linha curva

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Resolvido [Resolvido]Linha curva

Mensagem por Willy em Dom 16 Fev 2014, 19:06

Suponhamos que você queira fazer uma linha... Você simplesmente faz isso no draw:
Código:
draw_line(x1,y1,x2,y2);
Ou então, um quadrado:
Código:
draw_rectangle(x1,y1,x2,y2,outline);
Simples de fazer, certo? Porém, estou com a necessidade de fazer uma linha mais complexa, uma linha curva, como essa:

Dei uma boa olhada no help do GM e não encontrei nada... Talvez eu esteja procurando pelo termo errado, mas enfim...
Quem puder ajudar, agradeço!
Vlw blz

___________


Engines, tutoriais e projetos? Clique no banner!



Atenção:
Comporte-se, senão você vai levar a cintada do Willy no meio da bunda! bravo


Willy

Ranking : Nota A
Número de Mensagens : 1812
Idade : 23
Data de inscrição : 08/06/2009
Notas recebidas : C + B + A + A
Reputação : 245
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://willy-gmbr.blogspot.com/

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Linha curva

Mensagem por AlexBosquin em Dom 16 Fev 2014, 19:15

olhei aki na net pra você vê se isso pode te ajudar:



talvez o termo seja: curved line, ou linha curvar

AlexBosquin

Ranking : Nota C
Número de Mensagens : 621
Idade : 20
Data de inscrição : 10/07/2012
Notas recebidas : C
Reputação : 35
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

http://www.craftstudios.com.br

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Linha curva

Mensagem por Gabreel em Dom 16 Fev 2014, 19:20

Código:
/*
Name: draw_bezier
Author: Roach
---
Arguments:
argument0 - x1
argument1 - y1
argument2 - x2
argument3 - y2
argument4 - x3
argument5 - y3
argument6 - x4
argument7 - y4
argument8 - Line smoothness
---
Example:
draw_bezier(0,0,640,0,0,480,640,480,0.005);
*/
i=0
ox=argument0
oy=argument1
cx=3*(argument2-argument0)
bx=3*(argument4-argument2)-cx
ax=argument6-argument0-cx-bx
cy=3*(argument3-argument1)
by=3*(argument5-argument3)-cy
ay=argument7-argument1-cy-by
for (i=0; i<1; i+=argument8)
{
  xq=((ax*i+bx)*i+cx)*i+argument0
  yq=((ay*i+by)*i+cy)*i+argument1
  if i>0 {draw_line(ox,oy,xq,yq)}
  ox=xq; oy=yq
}

Achei na GMC Happy

Gabreel

Número de Mensagens : 2227
Idade : 20
Data de inscrição : 02/10/2009
Reputação : 52
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Linha curva

Mensagem por Willy em Dom 16 Fev 2014, 19:30

Fantástico, apesar de ser mais complexo do que eu imaginava, vai ser de grande ajuda!
E de praxe, descobri que o nome disso é Curva Bézier.

Na descrição do vídeo, ele deixou o link da engine.
Quem tiver interesse, clique aqui.

Muito obrigado!
Tópico Resolvido.

[Edit - Gabreel Respondeu bem na hora.]
Hey, agradeço a ajuda, mas a engine que citei vem com um script embutido que facilita bastante... De qualquer modo, obrigado! blz

___________


Engines, tutoriais e projetos? Clique no banner!



Atenção:
Comporte-se, senão você vai levar a cintada do Willy no meio da bunda! bravo


Willy

Ranking : Nota A
Número de Mensagens : 1812
Idade : 23
Data de inscrição : 08/06/2009
Notas recebidas : C + B + A + A
Reputação : 245
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://willy-gmbr.blogspot.com/

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Linha curva

Mensagem por Conteúdo patrocinado Hoje à(s) 07:41


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum