Kezdőoldal » Tudományok » Alkalmazott tudományok » Van ötletetek a következőre?

Van ötletetek a következőre?

Figyelt kérdés

Van egy ismert egyenletű parabolám és egy P(x0,y0) pontom aminek mindkét koordinátáját ismerem. Szükségem lenne a legrövidebb távolságra a kettő között, így szükségem lenne annak a merőlegesnek T(x1,x2) talppontjának a koordinátáira, amit a P ponton keresztül állítok a parabolára.


Az egész egy számítógépes program részeként működne, így a legjobb az lenne, ha ki tudnám fejezni x1=... és y1=... módon.



Amit én próbáltam az a következő: Felírtam a merőleges egyenletét a v(x1-x0,y1-y0) koordinátákkal, amiből ennek a merőlegesnek a meredeksége (y1-y0)/(x1-x0). A keresett T pont y1 koordinátáját x1 ismeretében a parabola egyenletéből meg lehet mondani, hiszen T a parabola pontja. A parabola x1 pontjában vett derivált értéke az ott lévő érintő meredeksége. Ez az érintő merőleges a PT által meghatározott eredeti merőleges egyenesre. Így felírható, hogy -(x1-x0)/(y1-y0)=p'(x1), ahol p a parabola egyenlete y-ra rendezve. y1 kifejezhető, így egy egyismeretlenes egyenletet kapunk x1-re, ami megoldható. A probléma csupán, hogy egy harmadfokú egyenletre vezet a műveletek elvégzése, ami nem túl ideális a leprogramozás szempontjából...



Így ezzel fordulok hozzátok, hogy ha van bármi ötletetek, hogy hogyan tudnám a P pont és a parabola közötti legrövidebb távolságot legegyszerűbben meghatározni, kérlek ne tartsátok magatokban! :)


Előre is köszönöm!



2015. szept. 24. 13:10
 1/4 anonim ***** válasza:
A levezetésedben nem világos, hogy mire állítasz merőlegest az első lépésben.
2015. szept. 24. 13:21
Hasznos számodra ez a válasz?
 2/4 Wadmalac ***** válasza:

A megoldásod geometriailag még jónak is tűnhet, de számítógépes megvalósításra nem ideális. Elég lenne a P pontban és a parabolagörbén egy futópontban gondolkodni.

Szerintem jobban jársz, ha a P pont x és y koordinátájából meghatározol egy, várhatóan a legközelebbi pontot tartalmazó intervallumot x-ben és y-ban, majd ezek közti tartományban iterálással közelíted. Egy ügyes kis iterációs ciklussal kívánt pontossággal meg tudod határozni, matematikailag meg csak a Pithagorasz-tételre van szükséged.

2015. szept. 24. 14:48
Hasznos számodra ez a válasz?
 3/4 anonim ***** válasza:

Ha mindenképp zárt alakban akarod megoldani, és a parabolád egyenlete Ax^2 + Bx + C, a következőt kell tenned:


Megtalálni, mely x-re lesz merőleges az (x - x0, Ax^2 + Bx + C - y0) vektor az (1, 2Ax + B) vektorra. Az első ugye az ismeretlen, legközelebbi pontból a P-be húzott vektor, a második a parabola meredekségének megfelelő vektor ugyanezen pontban.


A kettő merőleges, ha a skalárszorzatuk 0, azaz (x - x0) + (Ax^2 + Bx + C - y0)(2Ax + B) = 0. Ezt már neked kell kifejtened és megoldanod. Sajnos harmadfokú lesz az egyenlet, dehát ilyen az élet.

2015. szept. 24. 16:04
Hasznos számodra ez a válasz?
 4/4 anonim ***** válasza:

Ha tudsz deriválni, akkor én azt javaslom, hogy paraméteresen írd fel a parabolát, mondjuk

x = f(t),

y = g(t)

(ugye nem feltétlenül „egyenes állású”).

Akkor a t paraméterhez tartozó (f(t), g(t)) pont megvan, ennek a távolsága P-től

gyök((f(t) – x0)^2 + (g(t) – y0)^2),

mivel pedig a gyökfüggvény monoton nő, az argumentuma is mindig pozitív, stb. vagy a távolság minimumhelye a távolságnégyzet minimumhelyével egyezik, ezért elég az

h(t) = (f(t) – x0)^2 + (g(t) – y0)^2

függvény minimumhelyét megkeresni. Ez pedig ott lesz, ahol

h'(t) = 0.


És ez valószínűleg azt a harmadfokú egyenletet adja majd, amit a 16:04-es levezetett az „egyenes állású” parabola esetére.

2015. szept. 24. 17:07
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!