Chciałbym wiedzieć, jak uzyskać określony punkt na obwodzie koła, biorąc pod uwagę kąt. Średnica koła wynosi 1, a punktem środkowym koła jest { X: 0.5, Y: 0.5 }
.
źródło
Chciałbym wiedzieć, jak uzyskać określony punkt na obwodzie koła, biorąc pod uwagę kąt. Średnica koła wynosi 1, a punktem środkowym koła jest { X: 0.5, Y: 0.5 }
.
Możesz to rozwiązać za pomocą podstawowej trygonometrii. http://www.freehomeworkmathhelp.com/Trigonometry/Trigonometry_Introduction/trigonometry.html
Tan(angle) = Opposite / Adjacent
Sin(angle) = Opposite / Hypotenuse
Cos(angle) = Adjacent / Hypotenuse
Zawsze pamiętam powyższe jako
The Old Arab
Sat On His
Camel And Howled
Powyższe oznacza, że jeśli mamy kąt i jedną długość trójkąta prostokątnego, możemy obliczyć długości pozostałych boków. Na szczęście twój problem można traktować jako obliczanie długości boków trójkąta:
Powyżej r jest przeciwprostokątną, x jest przyległą, a y jest przeciwną.
Więc dla x:
Cos(a) = x / r
Cos(a) * r = x
x = Cos(a) * r
A dla ciebie:
Sin(a) = y / r
Sin(a) * r = y
y = Sin(a) * r
To zakłada koło w (0, 0), więc po prostu dodajemy na środku koła.
radius = 1;
CenterX = 0.5;
CenterY = 0.5;
x = Cos(angle) * radius + CenterX;
Y = Sin(angle) * radius + CenterY;
Uwaga: Funkcje matematyczne C # używają kątów w radianach, więc jeśli masz stopnie, najpierw je przekonwertuj:
radians = degrees * Math.PI / 180