Вычислить, где гипотенус пересекается с окружностью

Поэтому я хочу сделать сценарий, который может рисовать различные фильтры темного поля микроскопа. в них у вас есть 3 опорных стержня с углом 120°, которые удерживают круг внутри круга.

Я придумал что-то, но неправильно вычислил значение синего треугольника, в то время как я должен был вычислить значение фиолетового треугольника.

Я должен был пробудить свои 9-летние знания по тригонометрии, и это сработало, однако я не могу придумать способ вычислить значения фиолетового треугольника.

Вот изображение:

сейчас, когда я вычисляю синий треугольник, я получаю такой результат:

Кто-нибудь знает, что мне нужно для вычисления фиолетового треугольника?

Благодарю.

2 ответа

Решение

Три точки пересечения будут иметь координаты (если центр круга равен 0,0), где i = 0,1,2:

for i = 0..2 do
   Fi = Pi/2 + i * 2 * Pi / 3  //probably -Pi/2 depending on your graphics coordinate system
   X = R * Cos(Fi)
   Y = R * Sin(Fi)

Тривиально: ac = r;

Для de мы смотрим половину стороны равностороннего треугольника: de = sin (a) = sin (30 градусов) = r/2

Когда дело доходит до рекламы, мы можем использовать Пифагор для вычислений; ad = cos (a) = cos (30 градусов) = r * sqrt (3) / 2:

Другие вопросы по тегам