Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Алгоритмы > Медианы треугольника |
Автор: 6TITLIZ 1.2.2006, 16:43 |
Здравствуйте! ![]() Известны координаты трёх точек (треугольник), нужно провести биссектрисы. Как узнать координаты биссектрис? ![]() |
Автор: allex 1.2.2006, 16:52 |
6TITLIZ Координаты середины отрезка посчитать сумеете? Уравнение прямой, проходящей через две точки с известными координатами, написать сумеете? |
Автор: MBo 1.2.2006, 16:55 |
точки A,B,C Медиана из вершины A - отрезок из A в ((B.x+C.x)/2, (B.y+C.y)/2) |
Автор: 6TITLIZ 1.2.2006, 16:58 |
Извините за ошибку! ![]() С медианами проблем нет! Проблемы с биссектрисами и высотами! |
Автор: Illuminaty 1.2.2006, 17:11 |
если вектора A и B образуют стороны треугольника, то биссектриса, делющая угол между ними (A+B)*0.5 |
Автор: Illuminaty 1.2.2006, 17:29 |
BO - вектор, ортогональный к B Высота, опущенная на B = BO*(1/|B|)*|A|*|sin(A,B)| Удачи! |
Автор: Akina 1.2.2006, 17:36 |
Биссектриса считается так: Берем вершину. Берем векторы к остальным вершинам. берем единичные векторы этих направлений. Складываем векторно. Получаем вектор биссектрисы. Зная вектор, вершину и противосторону, считаем точку пересечения с противоположной стороной. |
Автор: Akina 1.2.2006, 17:53 | ||
не-а... складывать надо не векторы сторон, а единичные векторы. А это работает только для равнобедренного треугольника. |
Автор: 6TITLIZ 2.2.2006, 10:12 |
Большое спасибо! ![]() ![]() И как найти точку пересечения векторов? |
Автор: Illuminaty 2.2.2006, 10:26 |
A ортогональнен к B <=> скалярное произведение A на B = 0 (для вклидовой геометрии сие означает, что угол между ними = 90) точку пересечения нужно искать прямых |
Автор: 6TITLIZ 12.5.2006, 17:01 |
Помогите найти точку пересечения двух (ну трёх) векторов. Очень надо. |
Автор: poor_yorik 12.5.2006, 19:07 |
Предлагаю такой вариант... Найти координаты точки F пересечения биссектриссы с противоположной стороной, а дальше уже просто будет. Пускай вершины треугольника A(x1,y1), B(x2,y2), C(x3,y3). Найдем коодинаты точки F(x0,y0) пересечения биссектриссы из точки А со стороной ВС . По свойству биссктриссы: AB/AC=BF/FC. Отсюда AB/AC=(y2-y0)/(y0-y3); AB/AC=(x2-x0)/(x0-x3); То есть x0=(AB*x3+AC*x2)/(AB+AC) y0=(AB*y3+AC*y2)/(AB+AC) А отсюда легко найти координаты вектора биссектриссы. ![]() |
Автор: 6TITLIZ 12.5.2006, 20:24 |
poor_yorik, ![]() ![]() |
Автор: poor_yorik 13.5.2006, 00:15 |
Ну то есть я тебе дал формулу, как вычислить точку пересечения бисссектриссы и стороны треугольника, на которую она опущена. А там дальше тебе будет вычислить все что тебе надо. x0=(AB*x3+AC*x2)/(AB+AC) y0=(AB*y3+AC*y2)/(AB+AC) AB и AC тут подразумевается длинны соответсвующих сторон. Вычислял я для биссектриссы опущеной из вершины A. x3,y3 - координаты вершины С, x2,y2 - вершины В. Вывел из свойства биссектриссы треугольника. ![]() |