orttrpol.mws
Sovellukset : Geometria

Käyräparven kohtisuorat leikkaajat napakoordinaattitapauksessa

Esimerkki on jatkoa 'Käyräparven kohtisuorat leikkaajat' -esimerkille, jossa vastaavaa ongelmaa on tarkasteltu suorakulmaisissa koordinaateissa.

Puhdistetaan työtila:

> restart;

Käyräparvi voidaan antaa myös napakoordinaattiesityksenä muodossa r = r[1](phi) . Olkoon annettuna myös toinen käyräparvi r = r[2](phi) . Ehto näiden kohtisuoralle leikkaamiselle voidaan johtaa seuraavasti:

Kummankin käyrän pisteiden suorakulmaiset koordinaatit saadaan vektoreista

> v[1]:= [r[1](phi)*cos(phi), r[1](phi)*sin(phi)];

v[1] := [r[1](phi)*cos(phi), r[1](phi)*sin(phi)]

> v[2]:= [r[2](phi)*cos(phi), r[2](phi)*sin(phi)];

v[2] := [r[2](phi)*cos(phi), r[2](phi)*sin(phi)]

Näissä napakulma phi on käyräparametrin asemassa. Käyrien tangenttivektorit saadaan derivoimalla käyräparametrin suhteen:

> t[1]:= diff(v[1], phi);

t[1] := [diff(r[1](phi),phi)*cos(phi)-r[1](phi)*sin...

> t[2]:= diff(v[2], phi);

t[2] := [diff(r[2](phi),phi)*cos(phi)-r[2](phi)*sin...

Käyrien leikkaamisen kohtisuoruusehto on, että tangenttivektorit ovat toisiaan vastaan kohtisuorat, ts. niiden pistetulo on = 0.

Pistetulo muodostetaan linalg -paketin multiply -komennolla.

> with(linalg):

Warning, the protected names norm and trace have been redefined and unprotected

> kohtisuoruusehto:= multiply(t[1], t[2])=0:
simplify(%);

r[1](phi)*r[2](phi)+diff(r[1](phi),phi)*diff(r[2](p...

Ratkaisemalla tästä diff(r[1](phi),phi) saadaan:

> ratk1:= diff(r[1](phi), phi)=solve(kohtisuoruusehto, diff(r[1](phi), phi));

ratk1 := diff(r[1](phi),phi) = -r[1](phi)*r[2](phi)...

Ottamalla huomioon, että leikkauspisteessä r[1](phi) = r(phi), r[2](phi) = r(phi) , saadaan:

> subs({r[1](phi)=r(phi), r[2](phi)=r(phi)}, ratk1);

diff(r(phi),phi) = -r(phi)^2/diff(r(phi),phi)

Korvausehto, joka tarvitaan johdettaessa alkuperäisen parven differentiaaliyhtälöstä kohtisuorien leikkajien differentiaaliyhtälö, on siis

[Maple Bitmap]

Esimerkkinä olkoon käyräparven

> parvi:= r(phi)=C*exp(k*phi);

parvi := r(phi) = C*exp(k*phi)

kohtisuorien leikkaajien etsiminen.

Käyräparven kuva arvolla k = 1/2 voidaan piirtää plot -komennolla käyttämällä parametria coords=polar .

> with(plots):

Warning, the name changecoords has been redefined

> kuva1:=seq(plot(subs(k=0.5, rhs(parvi)), phi=-2..6, coords=polar), C=1..10):

> display(kuva1, scaling=constrained, view=[-60..60, -120..30]);

[Maple Plot]

Käyräparven differentiaaliyhtälön johto:

> derivparvi:= diff(parvi,phi);

derivparvi := diff(r(phi),phi) = C*k*exp(k*phi)

> eliminoi:= eliminate({parvi, derivparvi}, C);

eliminoi := [{C = r(phi)/exp(k*phi)}, {-diff(r(phi)...

> diffyht:= eliminoi[-1][]=0;

diffyht := -diff(r(phi),phi)+r(phi)*k = 0

Kohtisuorien leikkaajien differentiaaliyhtälö saadaan tekemällä alussa johdettu korvaus:

> diffyht2:= subs(diff(r(phi), phi)=-r(phi)^2/diff(r(phi), phi), diffyht);

diffyht2 := r(phi)^2/diff(r(phi),phi)+r(phi)*k = 0

Tämän ratkaiseminen antaa kohtisuorat leikkaajat:

> ratk2:= dsolve(diffyht2, r(phi));

Warning, it is required that the numerator of the given ODE depends on the highest derivative. Returning NULL.

ratk2 := r(phi) = _C1*exp(-phi/k)

Maple ei pidä siitä, että dsolve -komennolle annetun differentiaaliyhtälön korkein derivaatta on nimittäjässä ja antaa siksi varoituksen.

Kuva kohtisuorien leikkaajien parvesta arvolla k = 1/2 ja molemmista parvista yhdessä:

> kuva2:= seq(plot(subs(k=0.5, rhs(ratk2)), phi=-2..6, coords=polar), _C1=1..20):

> display(kuva2, scaling=constrained, view=[-75..75, -120..30]);

[Maple Plot]

> display({kuva1,kuva2}, scaling=constrained, view=[-75..75, -120..30]);

[Maple Plot]

Kuvasta voidaan ottaa osasuurennus:

> display({kuva1, kuva2}, scaling=constrained, view=[-0..10, -5..5]);

[Maple Plot]

Tehtäviä

Etsi napakoordinaateissa annetun käyräparven r = C*cos(phi) kohtisuorat leikkaajat. Mieti ennen piirtämistä, millaisesta käyräparvesta on kyse.

Tutki, millainen korvausehto saadaan, jos käyräparvien halutaan leikkaavan 45 asteen kulmassa. Sovella tätä sekä esimerkin alkuperäiseen käyräparveen että edellisen tehtävän parveen.


Teoria: käyräparven differentiaaliyhtälö
Sovelluksia: käyräparven kohtisuorat leikkaajat suorakulmaisissa koordinaateissa

SKK & MS 12.07.2001