Me gustaría saber cómo obtener un punto específico en la circunferencia de un círculo, dado un ángulo. El diámetro del círculo es 1, y el punto central del círculo es { X: 0.5, Y: 0.5 }
.
fuente
Me gustaría saber cómo obtener un punto específico en la circunferencia de un círculo, dado un ángulo. El diámetro del círculo es 1, y el punto central del círculo es { X: 0.5, Y: 0.5 }
.
Puede resolver esto usando trigonometría básica. http://www.freehomeworkmathhelp.com/Trigonometry/Trigonometry_Introduction/trigonometry.html
Tan(angle) = Opposite / Adjacent
Sin(angle) = Opposite / Hypotenuse
Cos(angle) = Adjacent / Hypotenuse
Siempre recuerdo lo anterior como
The Old Arab
Sat On His
Camel And Howled
Lo anterior significa que si tenemos el ángulo y una longitud de un triángulo rectángulo, podemos calcular las longitudes de los otros lados. Afortunadamente, su problema puede considerarse como el cálculo de la longitud de los lados del triángulo:
Arriba, r es la hipotenusa, x es adyacente e y es lo opuesto.
Entonces para x:
Cos(a) = x / r
Cos(a) * r = x
x = Cos(a) * r
Y para y:
Sin(a) = y / r
Sin(a) * r = y
y = Sin(a) * r
Esto supone un círculo en (0, 0), por lo que solo agregamos el centro del círculo.
radius = 1;
CenterX = 0.5;
CenterY = 0.5;
x = Cos(angle) * radius + CenterX;
Y = Sin(angle) * radius + CenterY;
Nota: Las funciones matemáticas de C # usan ángulos en radianes, por lo que si tiene grados conviértalos primero:
radians = degrees * Math.PI / 180