Nếu theo polarbạn có nghĩa là độ lớn của vectơ và elevationđược định nghĩa là góc giữa vectơ và mặt phẳng xy (như tên ngụ ý), hàm sẽ là:
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));
}
Lưu ý rằng điều này rất giống với câu trả lời của MLM, tất cả phụ thuộc vào cách bạn xác định elevationgóc của mình . Tôi cũng đã tôn trọng chữ ký mẫu chức năng của bạn, nhưng tôi đề nghị một vài thay đổi:
asimuth là một lỗi đánh máy, đúng chính tả sẽ là azimuth
polarthường đề cập đến hệ tọa độ 2D (r, θ). Độ lớn của vectơ thường được gọi làradius
- Một đơn hàng thông thường hơn sẽ có
radius như là tham số đầu tiên.