Czy ktoś mógłby wskazać mi właściwy kierunek, w jaki sposób można to osiągnąć? Matematyka / geometria 3D często mnie rzuca.
Szukam czegoś takiego (najlepiej w C #):
public Vector3 getCartesianFor(float elevation, float asimuth, float polar)
{
return ????;
}
c#
geometry
coordinates
Wojna
źródło
źródło
r
: odległość promieniowaθ
: nachylenieφ
: azymutza pośrednictwem Wikipedii
źródło
Jeśli
polar
masz na myśli wielkość wektora ielevation
jest zdefiniowany jako kąt między wektorem a płaszczyzną xy (jak sama nazwa wskazuje), funkcja wyglądałaby następująco:Zauważ, że jest to bardzo podobne do odpowiedzi MLM, wszystko zależy od tego, jak zdefiniujesz swój
elevation
kąt. Przestrzegałem również podpisu szablonu funkcji, ale sugeruję kilka zmian:asimuth
to literówka, poprawna pisownia toazimuth
polar
Zazwyczaj dotyczy współrzędnej 2D systemu (R, θ). Wielkość wektora jest powszechnie określana jakoradius
radius
Pierwszym parametrem byłby bardziej konwencjonalny porządek .źródło