A curva do dragão é um exemplo clássico de método recursivo.
A definição desta curva é a seguinte:
A curva do dragão de ordem 1 é um vetor entre dois pontos P e Q arbitrários,
A curva do dragão de ordem n é a curva do dragão de ordem n-1 entre P e R,
seguida da mesma curva de ordem n-1 entre Q e R, onde PRQ é um triângulo
isósceles com o ângulo em R a ser um ângulo reto e R situado a direita do
vetor PQ. Logo, se as coordenadas P e Q são (x, y) e (z, t), as coordenadas
(u, v) de R são dadas por:
u = (x + z)/2 + (t - y)/2 v = (y + t)/2 - (z - x)/2
O protótipo do método a desenhar a curva é o seguinte:
[!java|c]void [/!]dragão([!java|c]int [/!]ordem[!scala]:Int[/!], [!java|c]double [/!]x[!scala]:Double[/!], [!java|c]double [/!]y[!scala]:Double[/!], [!java|c]double [/!]z[!scala]:Double[/!], [!java|c]double [/!]t[!scala]:Double[/!])
Deve usar o método setPos(x,y)
para pôr a sua tartaruga nas
coordenadas (x,y) e o método moveTo(z,t)
para desenhar uma
linha entre a posição da tartaruga e o ponto (z,t).
Dê uma olhada em cada visão de mundo objetivo para entender como escrever a função.