Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Wysokość punktu należącego do danego trójkąta w przestrzeni 3D

Ostatnio zmodyfikowano 2015-02-13 15:27
Autor Wiadomość
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:
przyklad
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
P-121666
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
P-121672
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
P-121677
maly
» 2014-11-29 11:51:47
Frazy, które należy wpisać w wyszukiwarkę google:

Przecież i tak możesz skorzystać z Irrlicht-owej matematyki lub z biblioteki glm która ową funkcjonalność też posiada.
P-121678
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
P-121679
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.
P-121680
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:
C/C++
double posY( double Ax, double Ay, double Az,
double Bx, double By, double Bz,
double Cx, double Cy, double Cz,
double Px, double Pz ) {
   
    ///punkt XYZ przeciecia na boku BC trojkata
   
    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 ) ) ) ) );
   
    ///wysokosc punktu wewnatrz trojkata
   
    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 ;)
P-126506
« 1 »
  Strona 1 z 1