Könnte mich jemand in die richtige Richtung weisen, wie dies erreicht werden könnte? 3D Mathe / Geometrie wirft mich oft.
Ich suche so etwas (idealerweise in C #):
public Vector3 getCartesianFor(float elevation, float asimuth, float polar)
{
return ????;
}
c#
geometry
coordinates
Krieg
quelle
quelle
r
: radialer Abstandθ
: Neigungφ
: Azimutüber Wikipedia
quelle
Wenn
polar
Sie damit die Größe des Vektors meinen undelevation
als Winkel zwischen dem Vektor und der xy-Ebene definiert sind (wie der Name schon sagt), lautet die Funktion:Beachten Sie, dass dies der Antwort von MLM sehr ähnlich ist. Alles hängt davon ab, wie Sie Ihren
elevation
Winkel definieren . Ich habe auch die Signatur Ihrer Funktionsvorlage respektiert, schlage jedoch einige Änderungen vor:asimuth
ist ein Tippfehler, wäre die richtige Schreibweiseazimuth
polar
in der Regel bezieht sich auf das 2D - Koordinatensystem (r, θ). Die Größe des Vektors wird üblicherweise als bezeichnetradius
radius
als ersten Parameter.quelle