Qual deve ser o comportamento dum sistema de geometria dinâmica quando alguém interage com ele? Os requisitos são semelhantes aos de outros tipos de programas:
Infelizmente, estes requisitos tornam a geometria dinâmica um assunto difícil. Há duas razões fundamentais para isso:
A usual "geometria de todos os dias" está cheia de casos particulares. Duas rectas podem intersectar-se ou podem ser paralelas. Duas circunferências podem intersectar-se em 0, 1 ou dois pontos. Portanto, mesmo em construções estáticas, nem sempre é fácil saber qual o resultado correcto e rasoável num dado caso particular. Por exemplo, qual é a bissectriz do ângulo definido por duas rectas paralelas? Não está definida? Pode ser qualquer recta paralela às rectas dadas? Deverá ser a recta equidistante delas?
Poderíamos tentar excluir todos os casos especiais e não os considerar. Contudo isso acarretava abandonar casos pouco exóticos, como rectas paralelas. Além disso, quando se move uma construção, os elementos dependentes caem muitas vezes em situações especiais. Note que ainda estamos a falar de problemas estáticos!
Estes tipos de problemas foram estudados durante muito tempo. Os grandes geómetras do século XIX estavam cientes deles e foi graças aos seus tabalhos que puderam ser resolvidos. A chave da solução consiste em estender gradualmente a geometria euclidiana a uma situação mais geral. Primeiro acrescenta-se ao plano os elementos infinitos, levando-nos à Geometria Projectiva. Depois a estrutura algébrica subjacente é alargada de modo a conter números complexos. Isto remove essencialmente todos os casos especiais da geometria.
Foi um desenvolvimente matemático muito excitante como estas abordagens, por volta de 1870, produziram um sistema completamente consistente. Este sistema explica os efeitos da geometria euclidiana e também das geometrias não euclidianas, por exemplo da geometria hiperbólica. Chama-se-lhe "Geometria de Cayley-Klein" em homenagem a dois dos seus contribuintes.
A base matemática do Cinderella funda-se neste sistema geral. Desta forma Cinderella lida com todos os casos particulares, benificiando ainda da possibilidade de fazer geometria não euclidiana. É surpreendente que, ao usar estes princípios mais gerais, o programa não se torna mais complicado. Pelo contrário: A exclusão de casos especiais permite uma estrutura mais simples do programa.
Os sistema de geometria dinâmica enfrentam ainda um outro tipo de problemas, mais subtil. Infelizmente eles conduzem a efeitos mais drásticos. Suponha que construiu uma configuração que contém pontos, rectas e circunferências, e, em particular, a intersecção de duas circunferências (ou de uma circunferência e uma recta). Quando você move o rato o programa tem de dicidir, em cada momento, onde se encontram os elementos dependentes. Contudo, há um problema. A intersecção de duas circunferências consiste em dois pontos, e ambos são calculados. Como pode o programa saber qual o ponto pretendido? Quando se constroi esta intersecção a resposta é fácil: "deve tomar-se o ponto mais próxmo do ponteiro do rato". Mas quando se introduzem movimentos a resposta deixa de ser imediata.
O mais desejável era um comportamento contínuo do programa no seguinte sentido:
"Se se fizer um pequeno movimento num elemento livre, então os elementos dependentes devem mover-se também muito pouco."
À primeira vista não se sabe se este pedido é satisfazível em geral. Ligue o seu sistema favorito para fazer geometria dinâmica ou CAD paramétrico e realize a seguinte experiência: Desenhe uma recta horizontal e construa duas circunferências de igual raio cujos centros não podem abandonar a recta. Mova para uma posição em que as circunferêncas se intersectem e construa o ponto de intersecção superior. Agora mova uma circunferência de modo que o seu centro passe pelo centro da outra. Muito provavelmente observará que o ponto construído salta da intersecção de cima para a de baixo; assim aconteceu em todos os sistemas que testámos. Este comportamento viola o nosso princípio de continuidade: um movimento pequeno origina um salto brusco num ponto dependente.
Isto não devia acontecer |
A princípio um ponto isolado aos saltos constitui uma curiosidade tolerável. Mas o que sucede se grandes partes de uma construção dependem deste ponto saltador? Então essas partes saltarão também, sem pré-aviso. Muitos sistemas de geometria dinâmica usam métodos heurísticos baseados em decisões de orientação que ajudam a minimizar este problema dos saltos. Mas em todos os sistemas há problemas destes por resolver. De facto, existe até uma prova formal de que nenhum sistema baseado em métodos heurísticos de orientação se pode libertar de todos estes problemas dinâmicos [KRG]. Num artigo sobre geometria dinâmica [Lab] Jean-Marie Laborde, o principal projectista do Cabri Géomètre, explica este dilema da seguinte forma
"Penso que carecemos de um tratamento verdadeiramente matemático de todas as consequências que advêm de estirar a geometria a um sistema (dinâmico) mais geral. Este sistema não pode ser o projectivo se quizermos maximizar a forma como as características dos objectos não-estáticos essenciais à geometria dinâmica são considerados."
Cinderella é o primeiro programa baseado numa teoria que é capaz de evitar saltos nos elementos dependentes. Esta teoria é basaeda nos números complexos, que foram utilizados na resolução dos problemas estáticos.
A utilização desta teoria traz muitas vantagens. Por exemplo, ela é a base da correcção da geração de lugares geométricos. Considere a "Engrenagem com Três Barras" do segundo tutorial. A geração do lugar geométrico é baseada no cálculo correcto dos pontos de intersecção de duas circunferências enquanto um ponto livre se desloca. Noutros sistemas de geometria dinâmica provavelmente só obterá metade da curva em forma de oito. Os métodos automáticos de prova de teoremas, usados extensivamente no interior de Cinderella, também se baseiam nesta teoria.
O "lugar geométrico da barra tripla" revisitado |
As páginas seguintes dar-lhe-ão uma ideia sobre os métodos e as teorias matemáticas que estão na base da implementação do Cinderella.
O primeiro passo, e o mais importante, para obter um sistema consistente, é estender o plano euclidiano de forma a conter elementos no infinito. Já ouviu a frase "rectas paralelas encontram-se no infinito", e pode acreditar nela se olhar para uma linha de combóio sem curvas. Esta frase é a chave da "Geometria Projectiva". Esta extensão da geometria euclidiana pelos elementos no infinito retira muitos casos especiais da geometria euclidiana usual.
A Geometria Projectiva tem uma longa tradição. A sua origem histórica encontra-se nos estudos de perspectiva realizados por pintores famosos como Albrecht Dürer e Leonardo da Vinci. A sua origem matemática é o trabalho de Gaspard Monge, um geómetra francês, que desenvolveu, por volta de 1795, um método chamado geometria descritiva para representar objectos tridimensionais por desenhos bidimensionais em perspectiva. Monge observou que resultados não triviais àcerca de configurações planas podiam ser deduzidos ao considerá-las projecções de objectos espaciais. O estudo das paralelas nessas projecções foi elaborado com elegância estendendo o plano até conter os elementos no infinito.
Nos desenhos em perspectiva as paralelas encontram-se |
O plano projectivo consiste nos ponto do plano usual e ainda num ponto infinito em cada direcção. As rectas do plano projectivo são as rectas usuais e ainda uma "recta no infinito". Todos os pontos infinitos estão sobre a recta no infinito. São válidas as seguintes relações entre pontos e rectas:
A primeira pessoa a formalizar estas regras, por volta de 1822, foi Victor Poncelet, um aluno de Monge, que pode hoje ser considerado o "pai da Geometria Projectiva". Em Geometria Projectiva não há necessidade de considerar as paralelas como casos especiais. Elas encontram-se, como qualquer outro par de rectas, só que no infinito. Uma introdução muito agradável à Geometria Projectiva pode ser encontrada nos livros de H. S. M. Coxeter [Cox1, Cox2].
Nos computadores os objectos geométricos não são conceitos primitivos. Um ponto ou uma recta tem de ser representada por números: as coordenadas. Usualmente, um ponto do plano é representado pelas suas coordenadas (x,y). Uma recta pode ser definida pelos três parâmetros (a,b,c) da sua equação ax + by + c = 0. Contudo, este processo revela-se pouco prático quando queremos fazer Geometria Projectiva. Cada par (x,y) representa um ponto finito, mas não há representação semelhante para pontos no infinito. A solução correcta para este problema tornou-se gradualmente clara na primeira metade do século XIX. Começou com as coordenadas baricentricas de Möbius, continuou com o sistema de coordenadas homogéneas de Plücker, e finalizou com a criação da Álgebra Multilinear por Grassmann.
A via a seguir para evitar o dilema é a seguinte. Para cada ponto usamos três coordenadas, em vez de duas, introduzindo uma dimensão. Considere a seguinte situação: O plano é mergulhado numa posição paralela ao plano horizontal (x,y) do espaço tridimensional, a uma altura de z=1, não contendo portanto a origem.
Mergulhando o plano no espaço |
Cada ponto (x,y) é representado pelas suas três coordenadas (x,y,1). Estas são as coordenadas homogéneas do ponto. O que acontece aos outros pontos do espaço? Quase todos serão interpretados com pontos do plano original: identificamos todos os pontos cujas coordenadas difiram por uma constante multiplicativa não nula. Por exemplo, (4,6,2) e (2,3,1) descrevem o mesmo ponto. Em geral um ponto de coordenadas (x,y,z) será identificado com (x/z,y/z,1) do plano original. Este processo é chamado des-homogenização. É como se a cada ponto do plano original estivesse associada a recta pela origem do espaço que o contém.
Contudo, há pontos no espaço que não correspondem a nenhum ponto do plano original. Os pontos da forma (x,y,0) não podem ser tratados da forma descrita, porque não podemos dividir por zero. Estes pontos correspondem precisamente aos pontos no infinito da geometria projectiva. Para compreender isto vamos estudar o comportamento de um ponto que se afaste para infinito no plano original.
Suponha que o ponto em questão tem coordenadas (r,r). Quando r cresce indefinidamente o ponto aproxima-se de um ponto no infinito na direção de 45°. As respectivas coordenadas homogéneas são (r,r,1)~(1,1,1/r). Quando r cresce a contribuição das duas primeiras coordenadas dominam a da terceira. No limite, quando r "é infinito", as coordenadas homogéneas são dadas por (1,1,0), um ponto infinito. Também pode considerar a recta definida por este ponto e pela origem do espaço. Quando o ponto se afasta esta recta torna-se cada vez mais horizontal, até que, no limite, está contida no plano x,y.
Uma representação semelhante pode ser dada para rectas. Para a recta ax + by + c = 0 tomamos os parâmetros (a,b,c) como coordenadas homogéneas da recta. Como no caso dos pontos, identificamos múltiplos não nulos das coordenadas, visto que multiplicar por constante não nula não altera o conjunto solução da equação. Há umas coordenadas que não correspondem a nenhuma recta finita, (0,0,1). Esta é a recta no infinito. O vector (a,b,c) é ortogonal ao plano que contém a recta com essas coordenadas e a origem. Em particular o vector (0,0,1) é ortogonal ao plano (x,y).
Na realidade, a noção algébrica de coordenadas homogéneas fornece uma simetria perfeita entre rectas e pontos. Cada ponto e cada recta é representado por três coordenadas homogéneas. Um ponto (x,y,z) pertence à recta (a,b,c) se e só se o produto escalar ax + by + cz é zero isto é exactamente o mesmo que escrever a equação da recta. Geometricamente isto significa que os vectores correspondentes são ortogonais no espaço.
Não foi só a Geometria que sofreu extensões ao longo do tempo. Um processo semelhante se deu com os números. Provavelmente o primeiro conceito numérico considerado pela humanidade foi a sequência de inteiros: 1,2,3,.... Este sistema foi gradualmente estendido por conceitos mais poderosos. Os números negativos, os números racionais e os números reais tiveram de ser criados para se dispor de um sistema útil e autosuficiente. A observação de que há números que não podem ser representados por nenhum cociente de inteiros é de natureza geométrica e data de aproximadamente 600 BC. Foram os pitagóricos que descobriram que nenhum racional pode ser a medida da diagonal de um quadrado de lados unitários. Aplicando o Teorema de Pitágoras vemos que isto é equivalente a encontrar solução para a equação x² = 2. Esta descoberta originou uma crise profunda nos fundamentos da geometria antiga.
Contudo, a história do alargamento dos sistemas numéricos não termina aqui. Uma das estensões, com consequências drásticas, consistiu na introdução dos números complexos. Foi Geronimo Cardano na sua obra Ars Magna, aparecida em 1545, quem primeiro propôs explicitamente esse prolongamento dos reais. Foi levado a essa conclusão pelo estudo das soluções de equações algébricas do terceiro grau. Baseado em trabalhos de outros matemáticos dessa época concluiu que uma representação sistemática dessas soluções carecia de elementos até aí desconhecidos.
Um número complexo é um número da forma a + i·b onde i satisfaz a equação i² = -1, e a and b são números reais. Claro que i não pode ser um número real, visto que o quadrado dum número real nunca poder ser negativo. O sistema dos números complexos é, como o dos números reais, fechado para a soma e produto. Isto é, a soma e o produto de dois números complexos pode escrever-se na forma a + i·b para parâmetros apropriados a e b. Contudo, ao contrário dos reais, os complexos são fechados para a operação de encontrar soluções de equações polinomiais. Por exemplo, considere a equação:
x² - 6x + 13 = 0. |
Como pode verificar facilmente esta equação não tem raizes reais, mas os números 3 + 2i e 3 - 2i são soluções. Na realidade, o seguinte facto é verdadeiro: Todo o polinómio de coeficientes reais ou complexos tem todas as suas raizes no corpo dos números complexos.
Num certo sentido a descoberta dos números complexos está na base de grande parte da matemática moderna. Muitas teorias matemáticas encontram o seu cenário mais geral, elegante e económico quando formuladas em termos de números complexos. Isto também vale para a geometria. Considere a situação de duas circuferências. Dependendo das posições relativas pode haver dois, um ou nenhum ponto de intersecção.
Circunferências podem intersectar-se... | ... ou não. |
Determinar as coordenadas dos pontos de intersecção resume-se a resolver uma equação do segundo grau. Nos reais, às vezes, tal equação não tem solução. Nesse caso as circunferências não se intersectam. Mas há sempre soluções complexas. Podemos então dizer que, no caso das circunferências não se intersectarem visualmente, a intersecção ainda existe, só que as coordenadas respectivas são complexas, não visíveis no plano real. .
O núcleo matemático do Cinderella está completamente implantado sobre os números complexos. Portanto, quando as intersecções desaparecem do campo visual, Cinderella não tem de lidar com casos particulares, e pode continuar a calcular — as soluções têm coordenadas complexas, é só isso.
O que acontece se dois pontos de coordenadas complexas estão ligados por uma recta? Em geral esta recta também terá coordenadas complexas. Contudo, se os pontos forem conjugados, o que significa que eles diferem somente no sinal das suas partes imaginárias, então a sua intersecção é real. Ora acontece que as intersecções de duas circunferências são sempre conjugados. É por isso que a recta que os contém é sempre real. Cinderella calculará e desenhará correctamente a recta, independentemente das posições das circunferências. Pode demorar um pouco a habituar-se ao facto de que alguns resultados intermédios podem desaparecer, enquanto certas construções deles dependentes permanecem visíveis. Contudo, isto é exactamente o que deve suceder. Considere o caso em que as circunferência têm o mesmo raio. A recta é então a bissectriz ortogonal ao segmento que une dois pontos médios. Se se incluir os casos complexos há menos casos especiais a considerar.
Outro exemplo de um teorema em que passos intermédios desaparecem é o seguinte resultado àcerca de três circunferências. Construa a recta que liga os pontos de intersecção de cada par de circunferências. As três cordas que assim se obtêm encontram-se num ponto, independentemente das circunferências se intersectarem ou não.
Pontos intermédios podem ser complexos... | ... mas o teorema permanece! |
No Cinderella pontos e rectas são representados por coordenadas homogéneas. Isto acarreta que cada ponto e cada recta tem uma representação interna de dimensão seis (!) no núcleo matemático. Isto pode parecer bizarro, mas é o procedimento natural.
Se estivessemos satisfeitos com a teoria da incidência projectiva, então o sistema descrito até aqui seria bastante completo. Contudo, pretendemos também medir distâncias e ângulos. Num certo sentido medições são as mais fundamentais operações geométricas. Como as medidas variam com transformações de perspectiva, a Geometria Projectiva não consegue, à primeira vista, medir distâncias. Durante muito tempo a Geometria Projectiva foi considerada pelos matemáticos como um "brinquedo" interessante para fazer geometria de incidência, mas incapaz de lidar com o que é importante: medir.
A história provou que se haviam enganado. Com a configuração correcta, a Geometria Projectiva é o sistema universal para medir. Este sistema unifica e explica diferentes espécies de medidas, por exemplo explica a relação entre as geometrias euclidiana e hiperbólica. No entanto, demorou muito a descobrir-se o enquadramento algébrico em que a Geometria Projectiva se desenvolve em pleno. Os objectos fundamentais são as "geometrias de Cayley-Klein". Trata-se de uma abordagem matemática elegante e consistente às medições que combina Geometria Projectiva com números complexos.
Uma parte deste desenvolvimento começou com a descoberta das geometrias não euclidianas. A nossa geometria do dia a dia é, com grande precisão, descrita pelos cinco postulados de Euclides. Ele usou esses cinco postulados para axiomatizar a geometria, há mais de 2000 anos. O quinto postulado, o chamado "axioma das paralelas", teve um papel relevante no desenvolvimento da geometria. Uma forma de o enunciar é: "Dada uma recta l no plano e um ponto P não em l, existe uma e uma só recta por P que não intersecta l".
Euclides foi muito cauteloso ao utilizar o axioma das paralelas. Grande parte das suas elaborações, por exemplo a teoria das congruências de triângulos, foram levadas a cabo sem referência a esse postulado. Hoje acredita-se que Euclides pensava que o seu quinto axioma era consequência lógica dos outros quatro. Mas não o conseguia provar. Depois de Euclides muitos outros matemáticos o tentaram, sempre sem sucesso. Alguns chegaram a propor provas, mas estas estavam invariavelmente erradas.
Entre os séculos XVI e XVIII muitas formulações equivalentes ao quinto postulado foram encontradas pelos matemáticos. Uma das mais importantes é "A soma dos ângulos internos de um triângulo é 180°." Se este enunciado pudesse ser provado a partir dos quatro primeiros postulados de Euclides, então a dependência do quinto estaria estabelecida.
Para provar a dependência de um axioma uma possibilidade é assumir a sua negação e deduzir uma contradição. Muitos tentaram esta estratégia, entre eles C. F. Gauss, J. Bolyai e N. Lobachevski. Eles deduziram consequência atrás de consequência mas, com surpresa, no lugar de contradições estavam a desenvolver um belo sistema geométrico: geometria hiperbólica. Aqui o axioma das paralelas é substituído por: "Dada uma recta l no plano e um ponto P não em l, existe mais que uma recta por P que não intersecta l." Uma consequência desta suposição é que a soma dos ângulos internos de um trriângulo é sempre inferior a 180. Entre 1815 e 1824, independentemente uns dos outros, estes três matemáticos — hoje considerados os criadores da geometria hiperbólica — chegaram ao ponto de declarar os seus sistemas livres de contradição, por serem incapazes de as obter. Este sistema, para além da grande beleza intrínseca, é essencialmente único.
Deve mencinar-se que Gauss foi, provavelmente, o primeiro a tirar estas conclusões, por volta de 1816. Contudo, não publicou os seus resultados, por receio das reacções que causaria nas principais escolas de filosofia kantiana da época. Estes consideravam a recta como a primeira coisa cuja natureza era "a prior" evidente.
Se está interessado em História da Matemática queremos indicar-lhe os livros de Bell [Bell1, Bell2] e Struik [Str]. Uma boa introdução à Geometria Hiperbólica é o livro de M. J. Greenberg [Gre].
Durante muito tempo não se sabia ao certo se o
sistema de geometria hiperbólica não continha contradições. O que
faltava era um modelo para esta estrutura, um objecto matemático
que verificasse os quatro primeiros postulados de Euclides e a
versão modificada do quinto. O primeiro a consegui-lo, se bem que
com defeitos de pormenor, foi Beltrami, em 1868. Contudo, a beleza
de uma teoria completa foi pela primeira vez contemplada quando
Klein, um aluno de Plücker, apresentou o que hoje chamamos
"geometrias de Cayley-Klein", veja-se, por exemplo, [K12]. O que
ele produziu foi essencialmente uma redução da geometria
hiperbólica a construções euclidianas que implica: "Se a
Geometria Euclidiana não tem contradições então a geometria
Hiperbólica também não"
. Este resultado acabou com a polémica
do quinto postulado.
A ideia subjacente às geometrias de Cayley-Klein é usar o plano projectivo, e distinguir uma cónica especial — o "objecto fundamental". Uma espécie de medição universal é introduzida que só depende do objecto fundamental. De acordo com o tipo do objecto fundamental seleccionado obtemos as diversas geometrias: Geometria Euclidiana, Geometria Hiperbólica, Geometria Elíptica, Geometria Relativística, e três outras geometrias de menor importância.
Não nos debruçaremos sobre os detalhes destas geometrias, mas daremos as definições principais e demonstraremos alguns resultados básicos. Primeiro necessitamos do conceito de cross ratio: Para quatro pontos colineares A, B, C e D o cross ratio é por definição o número
(A,B | C,D) := ((A-C)(B-D)) / ((A-D)(B-C)) |
onde (A-C) denota a "distância euclidiana" usual entre os pontos A e C. O cross ratio também pode ser definidio sem recurso à distância euclidiana, o que é importante para um tratamento sistemático da geometria, livre de circularidades.
O cross ratio |
O cross ratio tem muita importância em Geometria Projectiva já que é invariante relativamente a transformações de perspectiva. Portanto, se tiver quatro pontos colineares A, B, C e D e os transformar, por uma projecção central, nos pontos A', B', C' e D' então os cross ratios dos dois quadruplos serão identicos.
De forma semelhante pode definir-se o cross ratio de quatro rectas que contenham um ponto P como sendo o cross ratio dos quatro pontos que se obtêm quando essas rectas intersectam uma quinta, que não contenha P.
Agora a definição de uma geometria de Cayley-Klein é simples. Escolha uma quadrática
ax² + by² + cz² + dxy + exz + fyz = 0. |
O conjunto solução desta equação descreve uma cónica, possivelmente complexa, no plano projectivo. Este é o "objecto fundamental" da geometria. Agora as medidas de comprimentos e de ângulos são definidas assim: Para a distância entre dois pontos A e B considere a recta que os contém. A interseção desta recta com o objecto fundamental consiste em dois pontos X e Y. Calcule o cross ratio (A,B | X,Y). Tome o logaritmo desse número e chame-lhe "distância entre A e B".
Ângulos são medidos de forma semelhante. Para o ângulo entre duas rectas L e M tome a sua intersecção. As tangentes ao objecto fundamental que contêm este ponto são duas rectas P e Q. Calcule o cross ratio (L,M | P,Q). Tome o logaritmo deste número e chame-lhe 'ângulo definido por L e M". Habitualmente estas quantidades são multiplicadas por constantes cosméticas r e s para as fazer coincidir com definições tradicionais de medidas.
dist(AB) = r·ln(A,B | X,Y) | ângulo(LM) = s·ln(L,M | P,Q) |
Pode parecer mágica, mas isto é tudo o que deve saber. De acordo com o objecto fundamental escolhido, obterá diferentes geometrias. A menos de isomorfismo há sete geometrias que se obtêm desta forma. As três escolhas mais importantes para a cónica são:
Duas observações importantes:
A parte métrica do Cinderella é baseada nas geometrias de Cayley-Klein. Todas os cálculos de comprimentos, áreas, ortogonalidade, circunferências, etc. referem-se a um objecto fundamental.
Finalmente, queremos mostrar pelo menos um efeito causado por esta teoria geral. Fazemos isto para lhe dar uma ideia de como números complexos, cross ratios e Geometria Projectiva estão relacionados com medições.
Consideremos o caso da Geometria Euclidiana. Aqui o objecto fundamental tem equação x² + y² = 0. Usando números complexos podemos factorizar este polinómio e obter x² + y² = (1·x + i·y + 0·z)·(1·x - i·y + 0·z). Os pontos I := (1,i,0) e J := (1,-i,0) que ocorrem nesta expressão desempenham um papel especial na Geometria Euclidiana. Eles não sofrem qualquer alteração por nenhuma transformação euclidiana. Podemos dizer que "Geometria Euclidiana é Geometria Projectiva com os pontos I e J."
Os pontos I e J são às vezes chamados chamados os pontos imaginários das circunferências, visto terem uma relação especial com circunferências: todas as circunferências euclidianas contêm I and J. Para ver isto considere a equação geral da circunferência em coordenadas homogéneas
x² + y² + cz² + exz + fyz = 0. |
Agora substitua as variáveis pelas coordenadas de I and J. Usando as regras de cálculo para números complexos concluímos que a equação é satisfeita. Podemos então dizer que uma circunferência é uma cónica especial que contém os pontos I e J. A partir da noção de circunferência é fácil definir o que são distâncias iguais e ângulos iguais. Os restantes conceitos da geometria Euclidiana podem deduzir-se com facilidade.
Foi referido no prefácio deste manual que Cinderella usa alguns novos métodos para evitar comportamentos inconsistentes. O sistema geométrico apresentado na secção anterior é uma estrutura fechada para fazer geometria, incluindo medições. Contudo, falta-nos ainda um elemento crucial para o Cinderella: dinâmica. Grande parte dos outros sistemas de geometria dinâmica ou CAD paramétrico sofrem de inconsistências que advêm de um tratamento pouco satisfatório dos efeitos especiais da dinâmica. Por exemplo, considere o "teorema" que diz As bissectrizes dos ângulos de um triângulo têm um ponto comum. Cada par de rectas tem dois bissectores, perpendiculares entre si. A veracidade do resultado depende da escolha destes bissectores. Agore imagine que construiu uma instância do teorema, isto é, que escolheu bem as rectas bissectrizes. Você arrasta os vértices e, de repente, sem razão aparente, uma bissectriz salta para a posição alternativa e o "teorema" fica falso. Este cenário pode acontecer em todos os sistemas que não tomam cuidados particulares com os casos especiais da geometria dinâmica.
As bissectrizes dos ângulos de um triângulo podem intersectar-se... | ... ou não |
Consideremos outra pequena construção. Considere duas circunferências e uma das suas intersecções. Enquanto arrasta alguns elementos o Cinderella tem de saber em cada posição do rato que intersecção se "pretende".
Uma boa primeira tentativa para traçar este ponto é seguir a regra: "tomar sempre para intersecção a que estiver mais próxima da anterior", que traduz exactamente a ideia de continuidade. Mas como lidar com intersecções evanescentes? De novo vale a pena ter a implementação baseada em números complexos. No Cinderella as intersecções nunca desaparecem, mas podem ser complexas. Portanto temos de traçar a intersecção no espaço complexo e seguir a regra acima.
Contudo, isto não chega. Quando se separam duas circunferências que se intersectavam há um momento em que os pontos de intersecção coincidem. Como se pode distinguir os pontos nesta situação? Neste momento é a Teoria das Funções Analíticas que salva a situação. Se "desvios" pelo espaço complexo forem permitidos então há sempre um caminho que evita todas as situações degeneradas. De novo toda esta abordagem só é viável porque tudo está mergulhado num espaço complexo. Eis uma descrição aproximada do que sucede quando arrasta o rato de uma posição para outra no modo "Mover" do Cinderella. Enquanto move um ponto da posição A para a posição B:
Para os traçados Cinderella usa um algoritmo de largura de passo ajustável. Pode imaginar o ponteiro do rato, quando movido no ecrã, a viajar pelo espaço complexo.
Porquê todo este trabalho? Com estes métodos podemos estar seguros que os elementos não "saltam repentinamente". Portanto, quando inicia com uma instância correcta do teorema das bissactrizes nunca pode mover para uma falsa. A teoria forma também a base para o verificador de teoremas confiável e para as funções de criação de lugares geométricos e animações do Cinderella.