Bisakah seseorang mengarahkan saya ke arah yang benar tentang bagaimana ini bisa dicapai? Matematika 3D / geometri sering melempar saya.
Saya mencari sesuatu seperti ini (idealnya dalam C #):
public Vector3 getCartesianFor(float elevation, float asimuth, float polar)
{
return ????;
}
c#
geometry
coordinates
Perang
sumber
sumber
r
: jarak radialθ
: kecenderunganφ
: azimuthvia Wikipedia
sumber
Jika yang
polar
Anda maksud besarnya vektor, danelevation
didefinisikan sebagai sudut antara vektor dan bidang xy (sesuai namanya), fungsinya adalah:Perhatikan bahwa ini sangat mirip dengan jawaban MLM, itu semua tergantung pada bagaimana Anda mendefinisikan
elevation
sudut Anda . Saya juga menghormati tanda tangan templat fungsi Anda, tetapi saya menyarankan beberapa perubahan:asimuth
adalah salah ketik, ejaan yang benar adalahazimuth
polar
biasanya mengacu pada sistem koordinat 2D (r, θ). Besarnya vektor biasanya disebut sebagairadius
radius
menjadi parameter pertama.sumber