Simo K. Kivelä / 06.08.2001

Frégier'n lause ellipsille

•Tehtävä

Ellipsin kehältä valitaan piste P. Tämän kautta asetetaan kaksi toisiaan vastaan kohtisuoraa suoraa, jotka leikkaavat ellipsin pisteen P lisäksi pisteissä A ja B. Osoita, että on olemassa suorien asennosta riippumaton piste Q, jonka kautta jana AB kulkee.

•Ratkaisu

In[1]:=

Remove["Global`*"]

Muodostetaan origokeskisen ellipsin yhtälö:

In[2]:=

ellipsi = x^2/a^2 + y^2/b^2 == 1

Out[2]=

x^2/a^2 + y^2/b^2 == 1

Jokainen tämän kehäpiste voidaan esittää seuraavassa muodossa:

In[3]:=

P = {x0, y0} = {a Cos[t], b Sin[t]}

Out[3]=

{a Cos[t], b Sin[t]}

Kaikki ellipsin pisteet saadaan, kun parametrille t annetaan arvot väliltä [0, 2 π]. Pisteet todellakin toteuttavat ellipsin yhtälön:

In[4]:=

ellipsi /. {x -> x0, y -> y0} // Simplify

Out[4]=

True

Tämän pisteen kautta asetetaan kaksi toisiaan vastaan kohtisuoraa suoraa. Annetaan nämä vektorimuodossa, jolloin suuntavektorit voidaan kirjoittaa {p, q} ja {-q, p}. Vektoriesityksessä tarvittava parametri olkoon u:

In[5]:=

suora1 = {x, y} == {x0, y0} + u {p, q}

Out[5]=

{x, y} == {p u + a Cos[t], q u + b Sin[t]}

In[6]:=

suora2 = {x, y} == {x0, y0} + u {-q, p}

Out[6]=

{x, y} == {-q u + a Cos[t], p u + b Sin[t]}

Etsitään kummankin suoran ja ellipsin leikkauspisteet. Näitä on kummallakin suoralla kaksi ja niistä toinen on luonnollisesti ellipsillä oleva piste {x _ 0, y _ 0}, jonka kautta suorat asetettiin. Sievennetään ratkaisujen lausekkeet.

In[7]:=

rtk1 = Solve[{ellipsi, suora1}, {x, y, u}] // FullSimplify // PowerExpand // FullSimplify

Out[7]=

{{u -> -(2 a b (b p Cos[t] + a q Sin[t]))/(b^2 p^2 + a^2 q^2), x -> (a ((-b^2 p^2 + a^2  ... - a q) (b p + a q) Sin[t]))/(b^2 p^2 + a^2 q^2)}, {u -> 0, x -> a Cos[t], y -> b Sin[t]}}

In[8]:=

rtk2 = Solve[{ellipsi, suora2}, {x, y, u}] // FullSimplify // PowerExpand // FullSimplify

Out[8]=

{{u -> 0, x -> a Cos[t], y -> b Sin[t]}, {u -> (2 a b (b q Cos[t] - a p Sin[t]))/( ... p^2 + b^2 q^2), y -> (b (2 a b p q Cos[t] + (-a^2 p^2 + b^2 q^2) Sin[t]))/(a^2 p^2 + b^2 q^2)}}

Edellisessä tapauksessa jälkimmäinen ratkaisu antaa suorien yhteisen pisteen. Jälkimmäisessä tapauksessa tämä on edellinen. Talletetaan saatujen toisten leikkauspisteiden koordinaatit omille nimilleen:

In[9]:=

A = {x1, y1} = {x, y} /. First[rtk1]

Out[9]=

{(a ((-b^2 p^2 + a^2 q^2) Cos[t] - 2 a b p q Sin[t]))/(b^2 p^2 + a^2 q^2), (b (-2 a b p q Cos[t] + (b p - a q) (b p + a q) Sin[t]))/(b^2 p^2 + a^2 q^2)}

In[10]:=

B = {x2, y2} = {x, y} /. Last[rtk2]

Out[10]=

{(a ((a p - b q) (a p + b q) Cos[t] + 2 a b p q Sin[t]))/(a^2 p^2 + b^2 q^2), (b (2 a b p q Cos[t] + (-a^2 p^2 + b^2 q^2) Sin[t]))/(a^2 p^2 + b^2 q^2)}

Saadut kaksi pistettä määräävät suoran. Tällöin ellipsin sisään syntyy suorakulmainen kolmio, jonka hypotenuusana on viimeksi muodostettu suora. Hypotenuusasuoran tavanomainen yhtälö:

In[11]:=

AB = y - y1 == (y2 - y1)/(x2 - x1) (x - x1)

Out[11]=

y - (b (-2 a b p q Cos[t] + (b p - a q) (b p + a q) Sin[t]))/(b^2 p^2 + a^2 q^2) == ((x - (a ( ... (b^2 p^2 + a^2 q^2) + (a ((a p - b q) (a p + b q) Cos[t] + 2 a b p q Sin[t]))/(a^2 p^2 + b^2 q^2))

Jotta tilanteesta voidaan piirtää kuvio, ilmoitetaan Mathematicalle, että tarvitaan lisäpaketti:

In[12]:=

Needs["Graphics`ImplicitPlot`"]

Muodostetaan kohtisuorien suorien tavanomaiset yhtälöt eliminoimalla vektoriesityksestä parametri:

In[13]:=

PA = Eliminate[suora1, u]

Out[13]=

p y + a q Cos[t] - b p Sin[t] == q x

In[14]:=

PB = Eliminate[suora2, u]

Out[14]=

-q y + a p Cos[t] + b q Sin[t] == p x

Kuvio piirretään seuraavilla lukuarvoilla:

In[15]:=

numarvot = {a -> 3, b -> 2, t -> 1.2, p -> 2, q -> 3}

Out[15]=

{a -> 3, b -> 2, t -> 1.2`, p -> 2, q -> 3}

In[16]:=

kuva1 = ImplicitPlot[Evaluate[{ellipsi, PA, PB, AB} /. numarvot], {x, -5, 5}, {y, -5, 5}]

[Graphics:HTMLFiles/fregier_41.gif]

Out[16]=

-Graphics -

Kuvaan voidaan myös lisätä tekstit ja merkitä piste P:

In[17]:=

tekstit = Graphics[{Text["A", A, {0, -2}], Text["B", B, {0, -2}], Text["P", P, {0, -2}], PointSize[0.03], Point[P]} /. numarvot]

Out[17]=

-Graphics -

In[18]:=

Show[kuva1, tekstit]

[Graphics:HTMLFiles/fregier_47.gif]

Out[18]=

-Graphics -

Frégier'n lause väittää, että suora AB kulkee aina saman pisteen kautta riippumatta kohtisuorien suorien asennosta; ellipsin piste P, jonka kautta kohtisuorat asetetaan, pidetään kuitenkin kiinteänä.

Lause voidaan todistaa asettamalla kohtisuorat toiseen asentoon ja määrittämällä tätä tilannetta vastaava jana AB. Jos saatujen kahden AB-janan leikkauspiste ei riipu suuntavektorista {p, q}, lause on todistettu.

Muodostetaan toinen AB-suora mahdollisimman yksinkertaisesti:

In[19]:=

A2B2 = AB /. {p -> r, q -> s}

Out[19]=

y - (b (-2 a b r s Cos[t] + (b r - a s) (b r + a s) Sin[t]))/(b^2 r^2 + a^2 s^2) == ((x - (a ( ... (b^2 r^2 + a^2 s^2) + (a ((a r - b s) (a r + b s) Cos[t] + 2 a b r s Sin[t]))/(a^2 r^2 + b^2 s^2))

Ratkaistaan AB-suorien leikkauspiste ja sievennetään se:

In[20]:=

rtk = Solve[{AB, A2B2}, {x, y}] ;

In[21]:=

Q = {x, y} /. rtk[[1]] // Simplify

Out[21]=

{(a (a^2 - b^2) Cos[t])/(a^2 + b^2), (b (-a^2 + b^2) Sin[t])/(a^2 + b^2)}

Tulos on todellakin riippumaton symboleista p, q, r ja s, ts. kohtisuorien suoraparien suunnista.

Ratkaisu ei luonnollisestikaan mene edellä esitetyllä tavalla, jos p = r ja q = s. Tätä ei laskussa ole mitenkään suljettu pois. Mathematica kuitenkin käsittelee tällaisessa tilanteessa ns. geneeristä tapausta, ts. tapausta, missä mitään rajoittavia erikoisehtoja ei vallitse.

Frégier'n lause on siis saatu todistetuksi.

Esimerkkitapauksessa hypotenuusasuorien leikkauspiste on

In[22]:=

numQ = Q /. numarvot

Out[22]=

{0.41810510131923884`, -0.7169531430517124`}

Kuvio:

In[23]:=

numarvot2 = {a -> 3, b -> 2, t -> 1.2, p -> 3, q -> 1}

Out[23]=

{a -> 3, b -> 2, t -> 1.2`, p -> 3, q -> 1}

In[24]:=

kuva2 = ImplicitPlot[Evaluate[{ellipsi, PA, PB, AB} /. numarvot2], {x, -5, 5}, {y, -5, 5}]

[Graphics:HTMLFiles/fregier_67.gif]

Out[24]=

-Graphics -

In[25]:=

Show[kuva1, kuva2, Graphics[{PointSize[0.03], Point[numQ], Point[P] /. numarvot}]]

[Graphics:HTMLFiles/fregier_70.gif]

Out[25]=

-Graphics -

Animaatio:

In[26]:=

Table[Show[Graphics[{ImplicitPlot[Evaluate[{ellipsi, PA, PB, AB} /. {a -> 3, b -> 2, t - ...  5}, {-5, 5}}], DisplayFunction -> $DisplayFunction, AspectRatio -> 1], {w, 0, Pi/2, Pi/48}]

animaatio

•Lisäongelma

Lisäongelmana voidaan pohtia seuraavaa: Edellä esitetyn mukaisesti jokaista ellipsin kehän pistettä kohden saadaan AB-suorien leikkauspiste. Jos kehäpiste kiertää koko ellipsin, millaisen käyrän piirtää hypotenuusasuorien leikkauspiste?

Leikkauspiste on edellä lasketun mukaisesti

In[27]:=

Q

Out[27]=

{(a (a^2 - b^2) Cos[t])/(a^2 + b^2), (b (-a^2 + b^2) Sin[t])/(a^2 + b^2)}

Tämä on itse asiassa etsityn käyrän parametriesitys parametrina t. Käyrän yhtälö saadaan eliminoimalla parametri yhtälöistäFormBox[Cell[], TraditionalForm]

In[28]:=

paramyhtalot = {x == Q[[1]], y == Q[[2]]}

Out[28]=

{x == (a (a^2 - b^2) Cos[t])/(a^2 + b^2), y == (b (-a^2 + b^2) Sin[t])/(a^2 + b^2)}

Eliminointi tapahtuu esimerkiksi seuraavasti:

In[29]:=

yhtalot = Flatten[{paramyhtalot /. {Sin[t] -> s, Cos[t] -> c}, s^2 + c^2 == 1}]

Out[29]=

{x == (a (a^2 - b^2) c)/(a^2 + b^2), y == (b (-a^2 + b^2) s)/(a^2 + b^2), c^2 + s^2 == 1}

In[30]:=

kayra = Eliminate[yhtalot, {s, c}]

Out[30]=

b^2 x^2 == a^2 b^2 - 4 b^4 - (4 b^8)/(a^2 + b^2)^2 + (8 b^6)/(a^2 + b^2) - a^2 y^2 && a^2 + b^2 != 0

Lopuksi kuvio, jossa on sekä alkuperäinen ellipsi että etsitty uusi käyrä, joka myös on ellipsi:

In[31]:=

ImplicitPlot[Evaluate[{ellipsi, kayra[[1]]} /. numarvot], {x, -5, 5}, {y, -5, 5}]

[Graphics:HTMLFiles/fregier_84.gif]

Out[31]=

-Graphics -


Converted by Mathematica  (May 15, 2003)