Nie ste prihlásený/á.

Prihlásiť 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átať vzdialenosť 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átať absolútnu vzdialenosť bodu od najbližšieho bodu na priamke.

Ešte raz ďakujem , Marek

 

 

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

 

 

pest
hodnocení

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*
hodnocení

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

Potrebujem si to hodiť do programu , napr. do excelu a nechce sa mi kvoli tomu študovať a vyhladávať celú problematiku.

Ďakujem za info.

 

kartaginec*
hodnocení

0x

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

maaarek*
hodnocení

Potrebujem vzdialenosť bodu od úsečky.

Jedná sa konkrétne o vzdialenosť 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 vzdialenosť 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*
hodnocení

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 aplikovať 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á zostrojiť , najbližší bod je bod B.

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

Ešte raz ďakujem za trpezlivosť.

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ásiť sa k odberu odpovedí z tejto otázky:

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

Používaním poradne súhlasíte s personalizovanou reklamou, ktorá pomáha financovať 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]