ถ้าpolar
คุณหมายถึงขนาดของเวกเตอร์และelevation
ถูกกำหนดให้เป็นมุมระหว่างเวกเตอร์กับระนาบ xy (ตามชื่อหมายถึง) ฟังก์ชันจะเป็น:
public Vector3 getCartesianFor(float elevation, float asimuth, float polar)
{
return new Vector3(polar*Cos(elevation)*Cos(asimuth),
polar*Cos(elevation)*Sin(asimuth),
polar*Sin(inclination));
}
โปรดทราบว่านี่เป็นคำตอบที่คล้ายกันมากกับ MLM ทุกอย่างขึ้นอยู่กับวิธีการกำหนดelevation
มุมของคุณ ฉันยังเคารพลายเซ็นแม่แบบฟังก์ชั่นของคุณ แต่ฉันขอแนะนำการเปลี่ยนแปลงบางอย่าง:
asimuth
คือการพิมพ์ผิดการสะกดคำที่ถูกต้องจะเป็น azimuth
polar
มักจะหมายถึงระบบพิกัด 2D (r, θ) ขนาดของเวกเตอร์มักเรียกกันว่าradius
- คำสั่งซื้อทั่วไปจะมี
radius
เป็นพารามิเตอร์แรก