quarta-feira, 18 de setembro de 2013

Desenhando cónicas num computador ou numa calculadora.

Desenhar computacionalmente gráficos de conjuntos como fractais, curvas ou superfícies com alguma qualidade, recorrendo apenas a software gratuito ou opensource nem sempre é tarefa fácil, mas é o que tenho tentado fazer nos últimos anos.
A imagem que apresento no post de hoje é um png que foi gerado em c++.
Estão representadas duas elipses, duas parábolas e duas hipérboles.
O código que escrevi é um bocadinho mais capaz do que a imagem deixa prever.
O código é capaz de desenhar qualquer forma quadrática do tipo

Ax2+Bxy+Cy2+Dx+Ey+F=0                          (1)

O raciocínio por detrás do código foi elaborado por mim "em cima do joelho" no primeiro ano da minha licenciatura em Matemática, num autocarro enquanto ia da Universidade para casa.
Na altura o raciocínio foi usado para desenhar quadráticas, e obter todos os dados "interessantes" sobre as cónicas, quando as curvas eram cónicas (vértices, excentricidades, directrizes, focos) ... na minha (agora falecida) CASIO cfx-9800G.

O truque consiste em começar por fazer uma rotação à curva por forma a que se obtenha uma curva do tipo

A'x'2+C'y'2+D'x'+Ey'+F'=0

Que é mais facilmente desenhável, e regra geral, nos dá uma cónica como as que estão no gráfico, (e, para a representação gráfica, depois desfazer a rotação)
Há várias formas de obter a mudança de variável.
Na altura, como eu estava a ter ALGA 2 (Álgebra Linear e Geometria Analítica 2) o segredo era diagonalizar a forma

Ax2+Bxy+Cy2

Primeiro construindo uma matriz simétrica e depois diagonalizando a matriz.
Há outras formas de o fazer, por exemplo, recorrendo às fórmulas de rotações já aqui apresentadas e escolhendo uma rotação que elimine o termo rectangular. Deixo ao leitor mais curioso, a tarefa de descobrir como plotar o gráfico de (1) sem resolver a equação original em ordem a uma das variáveis x ou y.
Não pode ser nada muito complexo, pois foi algo que fiz (sozinho), mentalmente, com 18 anos, no meu primeiro ano da licenciatura, numa viagem de autocarro Funchal-Camacha e implementei, numa calculadora muito limitada, quando comparada com as actuais.

Como as cónicas estão entre as minhas curvas preferidas, eu prometo voltar a falar delas um dia destes...
(e não me esqueci que tenho alguns assuntos por acabar)

Sem comentários:

Este blog recusa-se a utilizar o Acordo Ortográfico de 1990