LINUX.ORG.RU
решено ФорумTalks

Геометрия, которую не знал, а потом забыл

 ,


1

1

Прошу помощи. В проекте, который сейчас делаю нужно посчитать координату точки и я ощущаю себя беспомощным и тупым

https://yadi.sk/i/z7GM_pKdVb43ng

Есть две касательных к окружности и сама окружность.

Нам известны:

Координаты A(x1,x1), Угол между касательными, Длина дуги AB

Нам нужно найти координаты (x2,y2) точки B



Последнее исправление: Tiboro (всего исправлений: 1)

Определяешь коллизии пакмана со стенами?

deep-purple ★★★★★
()
Ответ на: комментарий от deep-purple

Угол между касательными и радиусом прямой. Т.е. это нормальные касательные.

Tiboro
() автор топика
Ответ на: комментарий от JaneDoe

Теперь узнать угол между радиусами, поделить его на два, чтобы доехать от центра окружности к вершинке, ну а дальше пифагоровы штаны, которые затем надо отзеркалить (чтобы А совпала с Б).

deep-purple ★★★★★
()

Если О - центр твоей окружности с координатами (0,0), то всё довольно просто.

Угол АОВ равен 180-«Угол между касательными». Потом ты умножаешь координаты А на матрицу поворота.

tyakos ★★★
()
Ответ на: комментарий от buddhist

На будущее: хороший (но не убийственный, типа ПСА) учебник по аналитической геометрии — Погорелов.

buddhist ★★★★★
()
Ответ на: комментарий от buddhist

Подтверждаю. В общем случае задачка правда уже не такая весёлая.

chupasaurus
()

А вообще говоря, если известно только то, что перечислено, задача не решается. Можно как угодно вращать твой рисунок вокруг A, и получать бесконечное количество B.

JaneDoe
()
Ответ на: комментарий от buddhist

Спасибо. Уже что-то похожее на правду.

Но только смущает меня получение координат x0 и y0 Если у нас вот такая ситуация? https://yadi.sk/i/3LWf3WnoegVDIw

мне кажется, что тогда простым прибавлением радиуса не обойтись

Tiboro
() автор топика
Ответ на: комментарий от Tiboro

В таком случае нам нужно знать величину угла, образованного пересечением одной из касательных с какой-либо координатной осью. Скорее всего у тебя и так есть какой-то репер, который ты таскаешь за собой.

buddhist ★★★★★
()

нужно посчитать координату точки

Grapher — Equation Plotter & Solver © и аналоги.

quickquest ★★★★★
()
Ответ на: комментарий от Tiboro

https://i.ibb.co/vJCdz3P/2019-10-18-13-26-39.png тогда что-то такое получится. Мог напутать в деталях, но идея ясна.

UPD: ну вот, уже нашел ошибку, угол пси равен углу AB минус пи, ПЛЮС k.

buddhist ★★★★★
()
Последнее исправление: buddhist (всего исправлений: 1)
Ответ на: комментарий от buddhist

что-то такое получится

«Не правильно ты, дядя Федор, бутерброд ешь... » ©.
Это элементарно-школьный метод, а по канонам аналитической геометрии ТС'а нужно учить составлять уравнения окружности и линий по известным данным и решать их стандартным образом.

quickquest ★★★★★
()
Ответ на: комментарий от quickquest

ТС, боюсь, тогда совсем запутается. Но удочку я ему тоже дал чуть выше.

buddhist ★★★★★
()

Ну, тогда просто: делишь длину дуги на угол между касательными, получаешь радиус. Радиус перпендикулярен касательной, то есть, ты знаешь направление AO. Отсюда легко вычисляешь координаты цента, а от него уже идёт ещё один радиус — направление которого, опять-таки, известно — к точке B, так что её координаты легко находятся.

Единственная проблема — с какой стороны от касательной находится окружность, так что в итоге у тебя будет четыре варианта.

Miguel ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.