Nie ste prihlásený/á.

Prihlásit sa do poradne

 

Vzdialenost bodu od úsečku

Od: maaarek* odpovedí: 9 zmena:

Zdravím všetkých a vopred ďakujem za pomoc.

Potreboval by som vyrátat vzdialenost bodu zadaného súradnicami X,Y od úsečky zadanej začiatočným a konečným bodom so súradnicami A1,A2 a B1,B2.

Celé sa to deje v rovine, súradnicové body sú hodnoty z GIS( len reálne kladné hodnoty). Potrebujem vyrátat absolútnu vzdialenost bodu od najbližšieho bodu na priamke.

Ešte raz ďakujem , Marek

 

 

9 odpovedí na otázku
Zoradené podľa hodnotenia

 

 

pest

0x
Z bodů přimky spočítat vektor, určit rovnici přimky. Dále určíme normálový vektor, z něho rovnici přimky, která prochází bodem mimo přimku. Určíme průsečik z těch dvou rovnic přimek, máme tedy dva body a z nich určíme vzdálenost.
doplněno 23.02.13 11:46:

cs.wikipedia.org/...

nebo něco bude i zde google.cz/...

maaarek*

Super , ďakujem za návod. A bolo by možné doložit ho potrebnými vzorcami , prípadne nejaký link na realizovaný príklad?

Potrebujem si to hodit do programu , napr. do excelu a nechce sa mi kvoli tomu študovat a vyhladávat celú problematiku.

Ďakujem za info.

 

kartaginec*

0x

Jen si rozmyslete, jestli chce vzdálenost od přímky nebo od úsečky. To jsou dvě růsné věci.

maaarek*

Potrebujem vzdialenost bodu od úsečky.

Jedná sa konkrétne o vzdialenost určitého bodu od hranice parcely v katastrálnej mape. A hranica pozemku je úsečka ohraničená dvomi krajnými lomovými bodmi. Takže bod a úsečka. Ak by sa bod nachádzal mimo priamky kolmej na úsečku , vyrátala by sa vzdialenost k najbližšiemu krajnému bodu.

Asi sa nevyjadrujem úplne odborne presne , ale tieto veci som naposledy študoval pred 25 rokmi...

Ďík.

kartaginec*

Částečně jste si odpověděl. Skutečně, pokud pata kolmice z bodu [X,Y] na tu přímku leží mimo úsečku, je to jednoduché - vezme se bližší bod. to byste jistě uměl. Pokud neleží vně, je to trochu (ale ne o moc) složitější a použil byste v principu postup navrhžený pest. Problém je, jak to poznat.

Jako nejjednodušší zda vidím postup, vyjádřit úsečku v parametrickém tvaru v závislosti na parametru t, spočítat vzdálenost obecného bodu té úsečky od bodu [X,Y] , nebo z početních důvodů raději čtverec této vzdálenosti, a následně hledat minimum takto vzniklé funce parametru t.

A treď podrobněji:

jestliže označíme (v1,v2 ) =(B1 - A1 , B - A2) směrový vektor té úsečku, tak parametrické vyjádření obecného bodu [T1,T2] této ůsečky bude T1 = A1+v1*t, T2 = A2 + v2*t, 0≤t≤1. Druhá mocnina vzdálenost tohoto bodu od bodu [X,Y] bude dle Pythagora

d² = (A1+v1*t ) ² + (A2+v2*t ) ² (proč beru druhou mocninu? Když je nejmenší vzdálenost, je nemenší i její kvadrát, a vyhneme se tím počítání s odmocninami).

No a teď stačí najít minimum této funce na intervalu <0,1>. To byste uměl? Pokud ne, poradím v další odpovědi, aby tahle nebyla moc velká.

doplněno 23.02.13 21:36:

k tomu minimu: d² sderivujeme, dostaneme

(8 ´d²) ' = 2*(A1+v1*t ) *v1 + 2*(A2+v2*t ) *v2

výsledek položíme roven nule a spočteme t. Pokud vyjde v intervalu (0,1), je příslušný bod ten nejblužší. Pokud ne, je nejbližší bod jeden z krajních bodů naší úsečky; který, to zjistíme dosazením a porovnáním.

maaarek*

Je to na moje chabé vedomosti silné. Občas sa mi v pamäti niečo objaví , ale je to slabé.

Dalo by sa to aplikovat na príklad?

Mám to tu nakreslené :

Úsečka daná bodmi A(2,2) a B(5,3)

a bod C(3,4) - ten je na reálnej kolmici k úsečke

bod D(6,5) - kolmica prechádzajúca cezeň sa nedá zostrojit , najbližší bod je bod B.

Tak z tohoto by mi to mohlo už docvaknút a je to vlastne aj podstata toho čo potrebujem.

Ešte raz ďakujem za trpezlivost.

kartaginec*

ale šlo by to, ale ozvu se zítra. Není to složité, když vím jak, ale sepsat to chvíli trvž a už je pozdě.

kartaginec*

Tak se na to podívejme. Vycházíte z úsečky, omezené krajními body A(2,2) a B(5,3). Její směrový vektor je v = B-A =(3,1). Parametrické vyjádření přímky, jdoucí těmito dvěma body, bude
X = A + t v, t reálné.
po souřadnicích
x1 = 2+ 3t
x2 = 2 + t
kde X = [x1,x2] je obecný bod této přímky. Máte-li to nakreslené, představte si v obrázku ten vektor v: má počátek v bodě A, končí šipečkou v bodě B. Když si v obecném vyjádřemí bodu X budete měnit t od nuly do nekonečna, tak ta šipečka se pro t = 0 zredukuje na počáteční bod A, následně se bude prodlužovat, zpočátku uvnitř úsečky AB, až pro t = 1 dorazi do bodu B, následně vyleze ven a pojede až do nekonečna. Shrnuto: A(2,2) a B(5,3) bod X:
x1 = 2+ 3t
x2 = 2 + t
pro t kladné probíhá polopřímku AB, pro t záporné polopřímku opačnou, a na úsečce AB leží právě tehdy, když t je mezi 0 a 1; pokud se nule ani jedné nerovná, je uvnitř, při rovnosti přejde v ty krajní body.
Co dál můžeme potřebovat, je vzdálenost obecného bodu X od bodu C(3,4), respektive D(6,5). Ta se vypočte v podstatě na základě Pythagorovy věty, analytická geometrie nás učí, že vzdálenost dvou bodů U[u1,u2] a W[w1,w2] je
|U, W| = d(U, W) = sqrt [(w1-u1)² + (w2 - u2)²]
(sqrt znamená druhou odmocninu); v našem konkrédním případě máme
d(C,X) = sqrt [(3-2-3t)² + (4 - 2 - t)²] = sqrt [(1-3t)² + (2 -t)²]
d(D,X) = sqrt [(4-3t)² + (3 - t)²]
Následný postup může být různý. Početně asi nejjednodušší mi přijde použití diferenciálního počtu, speciálně hledání minima funkce. Nevím ovšem, zda jste ochoten přijmout tuto metodu, respektive jak je vám příslušná teorie srozumitelná. Pokud ji akceptujete, nebo pokud sice příslušnou teorii neznáte, ale stačí vám početní postup, kterému prostě budete věřit, popíši ho co nejpodrobněji. Jinak to jde zvládnout i jinými postupy, jako skalární součiny, kosínová věta atp. Pokud byste chtěl něco takového, napište. V každém případě momentálně končím, abych jednu odpověď nepřetěžoval, a pokračovat budu samostatně.
kartaginec*

Tak postup s derivacemi.Chceme najít bod X nejbližší bodu C, případně bodu D, který leží na dané úsečce. To znamená, že hledáme takové t, aby d bylo nejmenší možné. Ve výrazu pro d se ovšem vyskytují odmocniny,¨ale když je d nejmenší, je i d² nejmenší. Úloha se tedy převádí na problém

najděte t z intervalu <0,1>, pro které je výraz

(1-3t)² + (2 -t)² (první případ)

respektive

(4-3t)² + (3 - t)² (druhý příklad) co nejmenší.

Diferenciální počet dává následující postup:

1. Funkci, kterou máme minimalizovat, zderivuj!

2. Derivaci polož rovnu nule a vypočti t (samozřejmě z intervalu <0,1> )

3. extrém je buď v bodě, kde se derivace rovná nule, nebo v krajním bodě.

Derivace takové funkce, jaké tu máme se spočítá následujícím způsobem : U každé závorky snížíme exponent o jedna, tu závorku tím (pú´ůvodním, nesníženým) exponentem vynásobíme a následně ji ještě vynásobíme koeficientem u t (Tohle je "dřevařský návod," který plyne z teorie). Konkrétně:

derivace (1-3t)² + (2 -t)² je rovna 2 (1-3t)* ( -3 ) + 2(2 -t) * ( -1 )

derivace (4-3t)² + (3 - t)² se rovná 2(4-3t) *( -3) + 2(3 - t) * ( -1 ) .

Položíme-li tyto výrazy rovny nule, dostaneme v prvním případě t = 0,5, ve druhém případě t = 1,5. Ve druhém případě číslo t není mezi nulo a jednou, takže vyzkoušíme vzdálenosd bodů A a B od bodu D , bližší z nich je ten hledaný. (To jste spočetl a zjistil jste, že je to bod B.)

V prvním případě je t mezi nulou a jednou, tedy odpovídající bod X = [3,5; 2,5] leží na naší úsečce. Ve smyslu bodu tři z návodu bychom měli tedy porovnat vzdálenosti tří bodů od bodu C, totiž bodů A[2,2], B[5,3] a X [3,5; 2,5], a hledaný by byl ten nejbližší. Nicméně pro tuto úlohu se dá dokázat, že nejbližší je ten s nulovou derivací, a body A,B zkoumat nemusíte.

To je vše. Chcete-li se zeptat na něco dalšího, napište.

 

 


 

 

 

Prihlásit sa k odberu odpovedí z tejto otázky:

Nenesieme zodpovednost za správnost informácií a za škodu vzniknutú ich využitím. Jednotlivé odpovede vyjadrujú názory ich autorov a nemusia sa zhodovat s názorom prevádzkovateľa poradne Poradte.sk

Používaním poradne súhlasíte s personalizovanou reklamou, ktorá pomáha financovat tento server, ďakujeme.

Copyright © 2011-2025 Poradňa Poradte.sk. Všetky práva vyhradené. Vyhlásenie o ochrane osobných údajov. | [tmavý motív]