Нахождение относительных координат в треугольнике

Известен: р , координаты А , угол Б А С =72°
Задача: найти координаты B и C.

Итак, у меня есть 4 неизвестных параметра для вычисления, но только 3 уравнения.

р 2 "=" ( Икс а Икс б ) 2 + ( у а у б ) 2
( 2,49 р ) 2 "=" ( Икс а Икс с ) 2 + ( у а у с ) 2
( 2,28 р ) 2 "=" ( Икс б Икс с ) 2 + ( у б у с ) 2

Как получить четвертое уравнение? Или, может быть, есть более простой алгоритм? Работа в моем стиле может быть очень трудоемкой и утомительной.

Это не домашнее задание, эта проблема возникла естественным образом при создании программы OpenGL.

введите описание изображения здесь

Вы можете использовать простую тригонометрию. Икс -координата Б например А Икс + р потому что ( 72 ) где А Икс это Икс -координата А .
@DavidMitra Это возможно, только если переменный ток параллелен Икс -ось. Не так ли?
@SaurabhHota Да, спасибо. Я так и предполагал.
Эта картина упрощена, поэтому может ввести в заблуждение. |AC| не обязательно должен быть параллелен оси X, поэтому простая геометрия в данном случае не является правильным решением.
Ваши уравнения, кажется, предполагают, что длины А С (или Б С ) известен; вместе с А Б и Б А С , можно считать форму треугольника известной. Хорошо. Теперь... Вы говорите, что знаете только координаты А . Без дополнительной информации можно перевернуть (или даже перевернуть) весь треугольник, сохранив вершину. А на месте, поэтому ваша проблема «недоопределена». Возможно, ваше приложение позволяет добавить еще одно ограничение в виде какого-то параметра, скажем, угла А Б (или А С ) делает с горизонталью. В любом случае, здесь нет однозначного ответа.
Между прочим: ваша фигура и ваши уравнения не полностью согласуются с длинами сторон.
@DayLateDon На самом деле угол правильный. Тогда до нашей эры получается 2,49 р .Смотри комментарии в моем посте.
@SaurabhHota: я не сомневаюсь в угле. Я просто указываю, что длины сторон ковальта не совпадают в двух местах, где они появляются. Фигура имеет 1 р , 2,61 р , 2,49 р , но уравнения имеют 1 р , 2,61 р , 2,28 р . В условии задачи сказано, что только длина р известен; учитывая цветовое кодирование фигуры, можно сделать вывод, что соседняя длина 2,61 р также известно, в этом случае 2,49 р это правильная длина противоположной стороны. В любом случае, kowalt должен устранить несоответствие, а также явно указать, что мы знаем (если действительно знаем) длину стороны 2,61 р .
Была ошибка и я поправил только картинку, а не уравнения. Вопрос снова исправлен, и я извиняюсь за это.

Ответы (2)

Как уже упоминалось, если задача состоит в том, чтобы найти координаты Б и С , эта проблема недоопределена.

Сначала рассмотрим треугольник с точкой А расположен в начале и точке С лежать на позитиве Икс -ось. Тогда координаты точек можно найти с помощью простой тригонометрии,

А 0 "=" ( 0 , 0 ) Б 0 "=" ( с потому что А , с грех А ) С 0 "=" ( б , 0 ) .
Угол А , и стороны б и с Был дан. Это треугольник SAS. Треугольник можно решить, найдя а по закону косинусов, а один из других углов по закону синусов.

( Добавлено : Для полноты, А "=" 72 , б "=" 2,61 р , и с "=" р . Закон косинусов дает а "=" б 2 + с 2 2 б с потому что А "=" 2,49 р . Затем грех А а "=" грех Б б подразумевает Б "=" 86 . Наконец, А + Б + С "=" 180 подразумевает С "=" 22 .)

Интересующий вас набор треугольников имеет вершины вида

(1) Д "=" А + р ( ф ) Д 0
где А "=" ( А Икс , А у ) является заданным местоположением А , и где р ( ф ) является матрицей вращения . Преобразование (1) представляет собой поворот против часовой стрелки на угол ф , за которым следует сдвиг, так что точка А имеет заданные координаты. В компонентах,
А Икс "=" А Икс А у "=" А у Б Икс "=" А Икс + с потому что А потому что ф с грех А грех ф "=" А Икс + с потому что ( А + ф ) Б у "=" А у + с потому что А грех ф + с грех А потому что ф "=" А у + с грех ( А + ф ) С Икс "=" А Икс + б потому что ф С у "=" А у + б грех ф .

Ниже мы рисуем треугольник до вращения и перемещения черным цветом. (Мы устанавливаем р "=" 1 на рисунке.) Пунктирный треугольник был повернут против часовой стрелки на ф "=" 30 , а затем переводится так, чтобы новое местоположение точки А является ( 2 , 1 ) . Для справки,

А Икс "=" 2 А у "=" 1 с "=" р "=" 1 б "=" 2,61 А "=" 72 ф "=" 30 .

введите описание изображения здесь

@kowalt: Спасибо за награду. Ваше здоровье!

B и C не будут иметь фиксированной координаты.
Геометрическое место B, C будет окружностью с центром в A.

Теперь у нас есть только одна информация о точке B( Икс , у ), то есть находится на расстоянии р от
А( Икс а , у а ). Следовательно, имеем

( Икс Икс а ) 2 + ( у у а ) 2 "=" р 2
которое действительно является уравнением окружности с центром в точке A и радиусом р .И если вы зафиксируете B на этой окружности, вы получите соответствующую точку C.

Первое утверждение не является откровением, а второе - чушью.
@Kowalt Почему ты так думаешь?
Ооооооооооооооооооооо! Угол "А" - это определенность, ВС посчитал сам(поэтому красный), он равен 2.49r. Вопрос исправлен :)
@kowalt Хорошо. Но все же геометрическое место точки B - это круг.
Я до сих пор не вижу, где ответ. Ваше уравнение точно такое же, как и мое первое, не так ли? Также утверждение «Локус B, C будет кругом с центром в A» по-прежнему не имеет для меня смысла. Вы имели в виду тот самый круг?
Я имею в виду, если вы нарисуете круг с центром в точке A и радиусом р тогда B может быть где угодно на этом круге, и тогда, соответственно, C может быть расположен.
Другими словами, чтобы найти фиксированное положение B или C, вам нужна еще одна часть информации, например наклон AC или что-то в этом роде. Как вы упомянули в своем вопросе, что у вас больше переменных, чем уравнений, потому что у вас нет никакой другой информации о B, кроме как на расстоянии. р из