Hi!
Ich habe für eine Simulation Vektoren gebraucht und mir dafür zwei Klassen geschrieben. Einmal in 2D und einmal in 3D.
Ich werde hier mal nicht näher auf die Bezeichnungen eingehen. Wenn man sich mit Vektorrechnung auskennt sollte das nicht das Problem sein.
Nur soviel:
Vector2D Vektor3D.GetDrawView(double xRatio, double yRatio)
{
return Vector2D.FromXY(x + z * xRatio, y + z * yRatio);
}
Vector2D Vektor3D.StdDrawView
{
get { return Vector2D.FromXY(x + z * 0.5, y + z * 0.25); }
}
------
VektorND ^ VektorND = Kreuzprodukt
VektorND * VektorND = Skalarprodukt
------
VektorND.Along(VektorND) = Der Anteil des Vektors parallel zum 2. Vektors wiederum als Vektor
------
VektorND.Perpendicular(VektorND) = Der Anteil des Vektors senkrecht zum 2. Vektors wiederum als Vektor
------
VektorND.AngleX = Der Winkel zwischen X und Y Achse
VektorND.AngleZ = Der Winkel zwischen Z und Y Achse
Die Winkel sind mit dem Uhrzeigersinn ausgerichtet und beginnen an der X-Achse
Great job.
Aber eigendlich gibt es dafür DirectX Managed.