SAT Problem
-
okay, jetzt hab ichs gechekt, mein programm funktioniert, ich bin bereit für eine weitere Dimension.
also wie läuft das nun mit einer ebene, oder muss ich alle seiten prüfen?
-
ist die normale einfach ein 3d Vektor?
-
alterbro schrieb:
okay, jetzt hab ichs gechekt, mein programm funktioniert, ich bin bereit für eine weitere Dimension.
also wie läuft das nun mit einer ebene, oder muss ich alle seiten prüfen?das wuerde nicht ausreichen, du musst theoretisch jede kante von objekt A mit jedem punkt von objekt B als grundlage deiner ebene probieren (und umgekehrt).
-
verstehe ich nicht, was heisst auf grundlage der ebene?
-
alterbro schrieb:
verstehe ich nicht, was heisst auf grundlage der ebene?
eingangsdaten um eine ebene zu berechnen
-
könntest du mir da mal beispiel machen, irgendwie verstehe ich das nichtg.
ist die ebene dann die normale auf die die punkte des polyeders projiziert werden?
-
ich leite dich gerne an, erster schritt, mach eine funktion die eine ebenengleichung zurueckgibt.
-
okay das mit der 3d Normale?
OK ist gemacht
danke
-
also du meinst das, oder?
http://www.wynx.de/ButcherC/EuEHNF.htmEine Viereckige Ebene, die Senkrecht zur eigentlichen fläche des Polyeders ist?
-
Hätte ich sie posten sollen?
float ebenengleichung(Vector n,Vector q){ return n*q; } inline float operator * (const Vector &V)const {return (x*V.x) + (y*V.y); }
-
ich habe so meine zweifel dass das irgendwas mit ebenengleichung zu tun hat.
versuch von einem dreieck, also aus 3 vertices im 3D raum (also x y und z) die ebene zu errechnen.
-
ich google jetzt schon seit einer ewigkeit.
könntest du mir einen kleinen Tipp geben?
-
ich glaub ich habs fast,nur weiss ich nicht was hier s und t bedeuten.
http://home.arcor.de/penneweb/Abi2004/Eb3Pkt.html
-
ich bin mir nicht sicher, aber meinst du das?:
inline Vector operator - (const Vector &V) const { return Vector(x-V.x, y-V.y); } inline Vector operator * (float s) const { return Vector(x*s, y*s); } Vector ebengleichung(float r, float s,Vector a,Vector b,Vector C){ vector retval; retval=a+r*(b-a)+s*(c-a); }
Tut mir leid, dass ich so langsam bin, ich könnte den Teil von mir, der früher in Geometrie gepennt hat, den Schädel einschlagen.
-
alterbro schrieb:
ich google jetzt schon seit einer ewigkeit.
könntest du mir einen kleinen Tipp geben?z.b. bei google "plane equation triangle"
-
alterbro schrieb:
ich bin mir nicht sicher, aber meinst du das?
ebenengleichung ohne z? eine ebene existiert doch erst in 3d
Tut mir leid, dass ich so langsam bin, ich könnte den Teil von mir, der früher in Geometrie gepennt hat, den Schädel einschlagen.
statt euch zu kloppen, solltet ihr kolaborieren, wenn du es erstmal kannst, werden beide teile deines schaedels lachen wie einfach es doch ist
wenn ich es nur vorsagen wuerde, waere ich jedoch nur kumpel von der schlaefrigen seite
-
inline Vector operator - (const Vector &V) const { return Vector(x-V.x, y-V.y,z-V.z); }
inline Vector operator * (float s) const { return Vector(x*s, y*s,z*s); }Vector ebengleichung(float r, float s,Vector a,Vector b,Vector C){
vector retval;
retval=a+r*(b-a)+s*(c-a);}
sorry, die Inlines waren aus versehen aus dem alten SAT2d Projekt,jetzt richtig?statt euch zu kloppen, solltet ihr kolaborieren, wenn du es erstmal kannst, werden beide teile deines schaedels lachen wie einfach es doch ist
wollen wir das beste hoffen
wenn ich es nur vorsagen wuerde, waere ich jedoch nur kumpel von der schlaefrigen seite
Ohne Schleimen zu wollen...
Es stimmt, ich hätts vermutlich nur gecopypastet, und mich dann darüber aufgeregt, weshalb es nicht funktioniert.
Kann auch sein das ich das nie in der Schule gelernt hab.
-
ist es jetzt richtig?:
inline Vector operator - (const Vector &V) const { return Vector(x-V.x, y-V.y,z-V.z); } inline Vector operator * (float s) const { return Vector(x*s, y*s,z*s); } Vector ebengleichung(float r, float s,Vector a,Vector b,Vector C){ vector retval; retval=a+r*(b-a)+s*(c-a); }
-
das kompiliert?
naja, probiere es aus, alle 3 punkte die du angibst sollten einen abstand von 0 zur ebene haben (die funktion brauchst du auch fuer den 3d SAT test).
-
ok, ich habe keine Ahnung wie ich das rausfinden soll, oder wie ich rausfinden soll, wie ich das rausfinden soll.
ABer ich google mal.