megatron Temat założony przez niniejszego użytkownika |
Wysokość punktu należącego do danego trójkąta w przestrzeni 3D » 2014-11-28 23:24:16 Witam serdecznie. Od pewnego czasu rozmyślam nad moim "problemem" i żaden z 1000-cy pomysłów nie dawał zadowalającego mnie rezultatu. Przekopałem internety w poszukiwaniu jakiegoś wzoru, lub wskazówki ale nic; cisza :c Może ktoś będzie na wyższym poziomie rozumowania i da mi jakiś znak w którym kierunku podążać mam :D Aby dokładniej opisać mój (nwm jak już to nazywać, więc niech bd)"problem", jako że jestem mistrzem w rysowaniu prostych w paincie ;pp pokaże to na rysunku: Jak widać mam współrzędne XYZ każdego z wierzchołków trójkąta oraz mam współrzędne XZ punktu. No i teraz poszukuję biednego igreczka(Y). Z góry dziękuję za zainteresowanie, a szczególnie za jakąkolwiek pomoc. Pozdrawiam |
|
maly |
» 2014-11-29 06:56:43 W internetach jest kupe informacji na ten temat, ale widziałem że miałeś do czynienia z Irrlicht-em więc wskażę kierunek. irr::core::triangle3d< T >::getIntersectionWithLine |
|
megatron Temat założony przez niniejszego użytkownika |
» 2014-11-29 11:30:44 Jakiś czas temu przerzuciłem się na czystego opendżiela. Nie mg nic znaleźć w internecie co to tego UP. Zostane chyba zmuszony skontaktować sie z moją matematyczką z technikum(ona gada przez fona i rozwiązuje zadanie - boss) :D Pozdrawiam |
|
maly |
» 2014-11-29 11:51:47 Przecież i tak możesz skorzystać z Irrlicht-owej matematyki lub z biblioteki glm która ową funkcjonalność też posiada. |
|
megatron Temat założony przez niniejszego użytkownika |
» 2014-11-29 12:05:44 Ja bym chciał jakiś (uwaga - fuj fuj) gotowy zwór ;) napewno jest cos takiego :D |
|
DejaVu |
» 2014-11-29 12:56:01 splaszcz figure do dwoch wymiarow tak, aby nie bylo zadnych niewiadomych (np przyjmij ze xz to twoje dwuwymiarowe osie skoro y jest nieznany).
potem oblicz punkt przeciecia linii z bokiem trojkata wyprowadzonej z dowolnego wierzcholka i przechodzacego przez punkt.
potem oblicz jaka wartosc ma ten punkt przeciecia w osi y.
potem oblicz w analogiczny sposob swoj brakujacy y. |
|
megatron Temat założony przez niniejszego użytkownika |
» 2015-02-13 15:27:02 sry ale zapomniałem całkowicie o tym temacie ;p powyższy "problem" rozwiązałem w taki sposób: double posY( double Ax, double Ay, double Az, double Bx, double By, double Bz, double Cx, double Cy, double Cz, double Px, double Pz ) { x1 = 1, x2 = 1, y1, y2; if(( Cx - Bx ) == 0 ) BCX = 0.01; else if(( Cx - Bx ) != 0 ) BCX = Cx - Bx; if(( Cz - Bz ) == 0 ) BCZ = 0.01; else if(( Cz - Bz ) != 0 ) BCZ = Cz - Bz; if(( Px - Ax ) == 0 ) PAX = 0.01; else if(( Px - Ax ) != 0 ) PAX = Px - Ax; if(( Pz - Az ) == 0 ) PAZ = 0.01; else if(( Pz - Az ) != 0 ) PAZ = Pz - Az; x1 =( PAZ / PAX ); y1 =(( PAZ / PAX ) *( - Ax ) ) + Az; x2 =( BCZ / BCX ); y2 =(( BCZ / BCX ) *( - Bx ) ) + Bz; pBBC = sqrt(((( y2 - y1 ) /( x1 - x2 ) - Bx ) *(( y2 - y1 ) /( x1 - x2 ) - Bx ) ) +((( x1 *(( y2 - y1 ) /( x1 - x2 ) ) + y1 ) - Bz ) *(( x1 *(( y2 - y1 ) /( x1 - x2 ) ) + y1 ) - Bz ) ) ); BCY = By +(( Cy - By ) *(( pBBC / sqrt(( Cx - Bx ) *( Cx - Bx ) +( Cz - Bz ) *( Cz - Bz ) ) ) ) ); pBBC = sqrt((( Px - Ax ) *( Px - Ax ) ) +(( Pz - Az ) *( Pz - Az ) ) ); Py =(( BCY - Ay ) *( pBBC / sqrt((( y2 - y1 ) /( x1 - x2 ) - Ax ) *(( y2 - y1 ) /( x1 - x2 ) - Ax ) +(( x1 *(( y2 - y1 ) /( x1 - x2 ) ) + y1 ) - Az ) *(( x1 *(( y2 - y1 ) /( x1 - x2 ) ) + y1 ) - Az ) ) ) ) + Ay; return Py; }
Ax, Ay, Az - współrzędne pierwszego wierzchołka trójkąta Bx, By, Bz - współrzędne drugiego wierzchołka trójkąta Cx, Cy, Cz - współrzędne trzeciego wierzchołka trójkąta Px, Pz - współrzędne punktu w trójkącie Wielkie dzięki za pomoc ;) |
|
« 1 » |