A Cardióide - Projecto de UCEM
Paula Cristina Vaz Pestana
Mestrado em Ensino da Matemática - Departamento de Matemática Pura
Faculdade de Ciências - Universidade do Porto
CARDIÓIDE CURIOSIDADES GLOSSÁRIO LINKS
Definições e Construções
Caracol de Pascal
Equações Polares
Como Epiciclóide
 Área e Comprimento
Superfície de Revolução
Coração Animado
Mecanismos
Curva Cáustica
   
 

Cardióide como epiciclóide

Podemos, utilizando o programa Geometric Sketchpad, construir a cardióide como epiciclóide de uma circunferência.

Vejamos como efectuar a mesma construção utilizando agora o software Maple.
 

1-Construção de uma circunferência fixa


Comecemos por construir uma circunferência de centro (0, 0) e raio 1, que vai ser a nossa circunferência fixa.

> restart;with(plots):

Warning, the name changecoords has been redefined

> setoptions(view=[-3..3,-3..3]);

> setoptions(scaling=constrained);

> F:=plot([cos(t),sin(t),t=0..2*Pi],color=blue):

> display(F,title="Circunferência Fixa F");

[Maple Plot]

2- Construção de uma circunferência móvel


Construa-se uma circunferência móvel M com o mesmo raio da circunferência fixa F e tangente a ela. O centro desta circunferência deverá estar a uma distância de duas unidades da origem.

A posição do centro desta circunferência pode ser expressa utilizando um ângulo polar u.Para isso é conveniente definir uma função de uma variável, u, que nos dá a posição da circunferência móvel que tem (2,u) como coordenadas do centro. Em coordenadas cartesianas o centro é dado por (2cos u, 2sin u).

Assim a circunferência móvel pode ser expressa como se indica a seguir

> M:=u->plot([2*cos(u)+cos(t),2*sin(u)+sin(t),t=0..2*Pi],color=green):

Tracemos as duas circunferências, F e M, para um ângulo u = 0º, ficando deste modo a circunferência móvel com centro em (2, 0).

> display({F,M(0)},title="Circunferência Móvel M");

[Maple Plot]

3- Construção de um ponto de tangência


Construamos, a seguir, o ponto de tangência das duas circunferências a que iremos chamar T

Repare-se que a posição de T depende apenas da posição da circunferência móvel M, que é dada pelo ângulo u. A circunferência M deverá efectuar uma rotação completa, ou seja, 2u e, durante esse movimento de rotação, T deverá permanecer sempre do lado esquerdo de M.

As coordenadas de T poderão ser determinadas da seguinte forma: 

- Suponhamos que a posição inicial do centro de M é sobre o eixo OX, ou seja, tem coordenadas (2, 0).

- As coordenadas cartesianas do centro, para uma qualquer posição, são x =2cos(u), y = 2sin(u)

-Como a circunferência móvel roda sobre a fixa sem escorregar, o ponto de tangência Tmove-se a mesma distância à volta de ambas as circunferências.

-Assim relativamente à circunferência móvel o ponto faz um ângulo 2u com a horizontal e as suas coordenadas cartesianas serão dadas por x = cos(2u), y = -sin(2u)

- As coordenadas do ponto T,relativamente à origem do sistema de eixos, são então 

x =2cos(u)- cos(2u), y = 2sin(u)-sin(2u)

A função seguinte constrói, para cada u, o correspondente ponto T.

> T:=u->plot([[2*cos(u)-cos(2*u),2*sin(u)-sin(2*u)]],style=point,symbol=circle,color=black):

O comando seguinte permite visualizar o ponto de tangência T quando o centro da circunferência móvel se encontra sobre o eixo OX. Neste caso as coordenadas de T são (1, 0).

> display({F,M(0),T(0)},title="Ponto de Tangência",axes=boxed);

[Maple Plot]

4- Animar a circunferência móvel


Pretendemos agora animar a circunferência móvel em torno da circunferência fixa. Para isso utilizaremos um determinado número n de "frames".
Construamos uma sequência em que o centro de M aparece em posições uniformemente espaçadas (2p/10)  que percorrem todo o intervalo 0 a 2p e , por conseguinte, o ponto T também.

> n_frames:=10:
passo:=2*Pi/n_frames:
frame_seq:=seq(display([M(i*passo),T(i*passo)],axes=none),i=0..n_frames):

Poderemos agora fazer o display da sequência de "frames" por forma a animar a circunferência M.

O primeiro "display" anima M e o ponto T.

O segundo "display" faz a animação de M e T em torno da circunferência fixa F.

> display([frame_seq],insequence=true):
display({F,%});

[Maple Plot]

Vejamos, a seguir, que de facto o lugar geométrico descrito pelo ponto T é uma cardióide (cujo pólo está deslocado uma unidade para o lado direito do eixo OX)

> cardióide:=plot([2*cos(u)-cos(2*u),2*sin(u)-sin(2*u),u=0..2*Pi]):
display(cardióide,title="Cardióide");

[Maple Plot]

A figura seguinte mostra a cardióide , a circunferência fixa F e uma posição ( posição 4) da circunferência móvel e do ponto de tangência.

> display([F,cardióide,frame_seq[4]],title="Cardióide e Ponto de Tangência T",axes=none);

[Maple Plot]

A próxima figura mostra dez posições, igualmente espaçadas, da circunferência móvel e do ponto de tangência.

> display([F,cardióide,frame_seq],title="Cardióide e Ponto de Tangência T",axes=none);

[Maple Plot]

Finalmente podemos animar o ponto T e vê-lo a construir a cardióide.

> cardióide:=proc(U)local u;
plot([2*cos(u)-cos(2*u),2*sin(u)-sin(2*u),u=0..U])
end:
Frame_seq:=seq(display([M(u*passo),T(u*passo),cardióide(u*passo)],axes=none),u=0..n_frames):
display([Frame_seq],insequence=true):
display({F,%},title="Traçar Cardióide");

[Maple Plot]