Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.
Nástěnka
❗22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
❗04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
❗23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.
Nejste přihlášen(a). Přihlásit
Stránky: 1
Dobrý den,
mohl bych poprosit o radu s určením polohy 3D bodu (zda-li je napravo, nebo nalevo) od roviny, která je popsaná dvěma směrovými jednotkovými vektory - Up Vektor a Direction Vektor. Pro lepší pochopení, jsem nakreslil jednoduchý obrázek níže. Rovina může ležet "jakkoliv" v prostoru.
Děkuji.
Offline
↑ unknow005:
Ahoj, zkus tu rovinu vyjádřit v obecné poloze jako (1) ax+by+cz+d=0 a pak to, zda je bod vlevo nebo vpravo určíš podle toho, za výraz na levé strany rovnosti (1) je buď kladný nebo záporný.
Offline
Děkuji za typ. Popřemýšlel jsem a z jednotkového Up Vektoru a jednotkového Direction Vektoru si spočítám Normálový Vektor:
// cross vektor
vNormal[0] := ((vUP[1] * vDIRECT[2]) - (vUP[2] * vDIRECT[1]));
vNormal[1] := ((vUP[2] * vDIRECT[0]) - (vUP[0] * vDIRECT[2]));
vNormal[2] := ((vUP[0] * vDIRECT[1]) - (vUP[1] * vDIRECT[0]));
Bod "Pxyz" (bod ze kterého směřují všechny tři jednotkové vektory) znám. Chápu tedy dobře, že když dosadím bod "Fxyz" do rovnice, tak mi mohou vyjít tři řešení:
1) rovnice se rovná 0 = bod "Fxyz" je součástí roviny
2) rovnice je záporná, nebo kladná = bod "Fxyz" leží na jedné, nebo druhé straně roviny
Jen mi nějak uniká ta rovnice. Nějaká rada?
Děkuji.
Offline
↑ unknow005:
No jestliže máš normálový vektor p,q,r té roviny, tak její rovnice je px+qy+rz+D=0 pro nějaké D - a D např. zjištíš tak, že za x,y,z dosadíš nějaký bod, o kterém víš, že v té rovině leží.
Offline
Chápu to tedy správně?
Mám bod P = [4, 7, -1]
Mám normálový vektor (jednotkový) n = [0.2, 0.1, 0.7]
Chtěl bych zjistit, zda-li bod F = [12, 4, -8] leží nalevo, nebo napravo od roviny:
1) dosadím normálový vektor do rovnice: 0.2x + 0.1y + 0.7z + d = 0
2) dosadím bod F do rovnice: 0.2*12 + 0.1*4 + 0.7*-8 + d = 0
3) počítáme: 2.4 + 0.4 + (-5.6) + d = 0
-2.8 + d = 0
d = 2.8
Je to správně?
Díky!
Offline
↑ unknow005:
Ahoj, bod p leží v té rovině? Pokud nao, pak v bodě 2) musíš dosadit souřadnice nikoli bodu F, ale bodu P. Tak zjistíš d. A pak teprve (když znáš d, můžeš dosadit souřadnice bodu F a zkoumat, zda výsledné číslo je kladné nebo záporné.
Offline
Aha, takže dosadím nejprve bod P, který leží v rovině (z něj vychází směrové vektory):
0.2*4 + 0.1*7 + 0.7*-1 + d = 0
0.8 + 0.4 - 0.7 + d = 0
d = -1.9
a teď když znám d, tak dosadím bod F:
0.2*12 + 0.1*4 + 0.7*-8 - 1.9 = 0
2.4 + 0.4 + (-5.6) - 1.9 = 0
-4.7 = 0
Vyšlo záporné číslo, takže bod leží na některé straně od roviny? Tak je to správně?
Díky!
Offline
↑ unknow005:
Ještě je potřeba zjisit, co je "napravo" - pokud máš nějaký bod F o kterém víš, že leží např. napravo a po doszaení do té rovnice dostaneš záporné číslo, tak víš, že bodům napravo budou odpovídat záporná čísla.
Offline
↑ check_drummer:
Díky za pomoc. Po vložení do aplikace to vypadá, že vše funguje.
Offline
Stránky: 1