Я хотел бы знать, как получить конкретную точку на окружности круга, учитывая угол. Диаметр круга равен 1, а центральная точка круга равна { X: 0.5, Y: 0.5 }
.
источник
Я хотел бы знать, как получить конкретную точку на окружности круга, учитывая угол. Диаметр круга равен 1, а центральная точка круга равна { X: 0.5, Y: 0.5 }
.
Вы можете решить это, используя базовую тригонометрию. http://www.freehomeworkmathhelp.com/Trigonometry/Trigonometry_Introduction/trigonometry.html
Tan(angle) = Opposite / Adjacent
Sin(angle) = Opposite / Hypotenuse
Cos(angle) = Adjacent / Hypotenuse
Я всегда помню как
The Old Arab
Sat On His
Camel And Howled
Вышеуказанное означает, что если у нас есть угол и одна длина прямоугольного треугольника, мы можем определить длины других сторон. К счастью, ваша проблема может рассматриваться как вычисление длины сторон треугольника:
Выше r - гипотенуза, x - соседний, а y - противоположный.
Итак, для х:
Cos(a) = x / r
Cos(a) * r = x
x = Cos(a) * r
И для тебя:
Sin(a) = y / r
Sin(a) * r = y
y = Sin(a) * r
Предполагается, что круг в точке (0, 0), поэтому мы просто добавляем центр круга.
radius = 1;
CenterX = 0.5;
CenterY = 0.5;
x = Cos(angle) * radius + CenterX;
Y = Sin(angle) * radius + CenterY;
Примечание: математические функции C # используют углы в радианах, поэтому, если у вас есть градусы, сначала преобразуйте их:
radians = degrees * Math.PI / 180