ถ้า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เป็นพารามิเตอร์แรก