Curva do Dragão (1)

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.