Zdravím všechny.
Chtěl bych se zeptat na něco ohledně tohoto příkladu. Dva trojuhelniky v rovině jsou zadány souřadnicemi svých vrcholů. Zjistěta, zda některý z nich leží celý uvnitř druhého.
Může mi někdo prosím vás poradit, jak tento program vytvořit. Uvažoval jsem, že bych body spojil čárou a optal se, zda se čáry neprotínají. Ale stejně to není řešením, protože pokud se čáry protínají, nebude trojúhelník ležet celý objemem v tom druhém, a případě že se zase protínat nebudou, tak nemusí vůbec ležet ten jeden vně druhého, ale naprosto jinde. Má někdo nápad, jak to vyřešit?
Fórum › Delphi
Příklad do programování (trojúhelníky, souřadnice)
Je několik metod, jedna - když znáš vrcholy trojúhelníků
tak je postupně projdeš po směru nebo proti směru hodinových ručiček, na tom nezáleží.
Vezmeš normálový tvar přímek, které tvoří z bodů trojúhelník.
tj. obecně ax+by+c=0
vypočítám a,b,c.
a,b jsou vektory odečtením následujícího vrcholu od předešlého a vynásobením kolmým
vektorem, tozn. (y=x,x=-y)
c získáme po dosazení 1 vybraného z dvou vrcholů.
Celé látka analytické geometrie.
Pak postupně dosazuji z druhého trojúhelníku každý ze 3 vrcholů
pro každou z přímek. Celkem 9 porovnání.
Když výsledek
vždy nabývá po dosazení za X,Y
hodnot ax+by+c>0
v případě že jsi proti směru hod. ručiček, nebo záporného čísla
v protijdoucím směru pro všech devět porovnání je trojúhelník celý vepsán.
Stačí ti tedy hlídat If podmínkou že nedošlo nikdy ke změně ze záporného
na kladný nebo naopak výsledek rovnice a nic víc.
Je to celkem jednoduche, staci ucivo matematiky ze stredni skoly.
1) Zjisti ktery je mensi, pomoci vektoroveho soucinu,at to nemusis delat pro oba, velky do maleho se nenacpe.Porovnej (B-A)x(C-A) a (E-D)x(F-D) (kdyztak je prohod, ted pocitam z tim ze druhy je vetsi)
2)V tom vetsim si dej 2 body jako primku (DE) a zjisti vzdalenost tretiho(F). (toto je trozku tezsi, ale jde to)
pro vsechny 3 body toho mensiho musi platit:
- Vzdalenost od primky DE je mensi jak vzdalenost bodu F. (lezi v pasu)
-uhel "bod"DE je mensi nez uhel FDE (lezi ve spravne casti pasu, neni daleko)
-Vzdalenost bodu od bodu F je mensi nez vdalenost bodu F od primky DE. (lezi na spravne strane primky DE , kvuli absolutni hodnote ve vypoctu uhlu a vzdalenosti)
Urcite to jde i jinak.
To tecik : vytahni knizky nebo google a najdi si vektory... je to vcelku snadna latka a da se i vcelku pochopit s troskou snahy.. pokud ale nechces myslet a nechces se nic ucit tak uz trenuj s lopatou...
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Souřadnice — založil Rider
Kurzor na souřadnice — založil Thadeus
Python souřadnice — založil LOTR9699
Souřadnice a úsečka — založil BDS
Matlab, rovnice, souřadnice — založil Miloš