Gostaria de saber como obter um ponto específico na circunferência de um círculo, dado um ângulo. O diâmetro do círculo é 1 e o ponto central do círculo é { X: 0.5, Y: 0.5 }
.
fonte
Gostaria de saber como obter um ponto específico na circunferência de um círculo, dado um ângulo. O diâmetro do círculo é 1 e o ponto central do círculo é { X: 0.5, Y: 0.5 }
.
Você pode resolver isso usando trigonometria básica. http://www.freehomeworkmathhelp.com/Trigonometry/Trigonometry_Introduction/trigonometry.html
Tan(angle) = Opposite / Adjacent
Sin(angle) = Opposite / Hypotenuse
Cos(angle) = Adjacent / Hypotenuse
Eu sempre me lembro do que foi dito acima.
The Old Arab
Sat On His
Camel And Howled
O acima significa que, se tivermos o ângulo e um comprimento de um triângulo retângulo, podemos calcular os comprimentos dos outros lados. Felizmente, seu problema pode ser considerado como o cálculo do comprimento dos lados do triângulo:
Acima, r é a hipotenusa, x é o adjacente e y é o oposto.
Então, para x:
Cos(a) = x / r
Cos(a) * r = x
x = Cos(a) * r
E para y:
Sin(a) = y / r
Sin(a) * r = y
y = Sin(a) * r
Isso está assumindo um círculo em (0, 0), então adicionamos apenas o centro do círculo.
radius = 1;
CenterX = 0.5;
CenterY = 0.5;
x = Cos(angle) * radius + CenterX;
Y = Sin(angle) * radius + CenterY;
Nota: As funções matemáticas do C # usam ângulos em radianos; portanto, se você tiver graus, converta-os primeiro:
radians = degrees * Math.PI / 180