Punkt auf Vektor berechnen
-
Brauch mal nen tritt von auch in die richtige richtung...
Ich brauche volgende funktion:3D_POINT CalcPos(3D_POINT start, 3D_POINT end, int iPercent)
Gegeben sind 2 Punkte in einem Raum (start und endpunkt) und ein vortschritts-faktor. Bei iPercent=0 ist das egebniss der Funktion der startpunkt, bei iPercent = 100 ist das ergebniss der endpunkt, bei iPercent=50 der punkt der auf halben weg zwischen start und end liegt... Ich bekomms irgendwie net gebacken... schon erschreckend was man in 2-3 Jahren alles vergisst wenn sich net damit beschäfftigt
Kann mir einer von euch nen schubs in die richtige richtung geben?
-
Seien u,v bel. Punkte:
x=u+t*(v-u), wobei t aus [0,1] (Damit erhält man die Gerade zwischen u und v.)
Edit: Bin heute völlig verpeilt...
-
na toll... jetzt bin ich noch mehr durcheinander... :p
-
CMatt schrieb:
na toll... jetzt bin ich noch mehr durcheinander... :p
Das Problem kenne ich auch
3D_POINT CalcPos(3D_POINT start, 3D_POINT end, int iPercent)
{
return start+iPercent/100*(end-start);
}
-
also damit wir nich aneinader vorbeireden:
typedef struct 3D_POINT { double X; double Y; double Z; } 3D_POINT;
Wir reden hier von 2 punkten in einem 3D raum (also mit wert auf der X, Y und Z achse). Die Formel für ne 1D-Gerade würde selbst auch noch grad hinbekommen
:p
-
CMatt schrieb:
Wir reden hier von 2 punkten in einem 3D raum (also mit wert auf der X, Y und Z achse). Die Formel für ne 1D-Gerade würde selbst auch noch grad hinbekommen
:p
Ja, soweit bin ich schon mitgekommen! (Die Klasse heißt schleißlich 3D_POINT :p )
erg.X= start.X+iPercent/100*(end.X-start.X);
erg.Y= start.Y+iPercent/100*(end.Y-start.Y);
erg.Z= start.Z+iPercent/100*(end.Z-start.Z);Edit: Das könnte man auch n-dimensional machen, wenn man Langeweile hat...
-
das kann ja wohl net whar sein........ zum geier kommen die ganzen quardartwurzeln und exponenten in meine formeln.... lmao
BIG THX!
-
start+iPercent/100*(end-start); ^ ^ ^ vektorielle Subtraktion Skalarmultiplikation vektorielle Addition
so meinte ich das am Anfang!
bei "return start+iPercent/100*(end-start)"müßten dann die Operatoren überladen sein...
-
schon klar jetzt......... hatte mich da nur in was verbissen was mir völlig das gehrin zugemauert hat......