Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.05.2010, 21:34   #1
Igoressicus
Пользователь
 
Регистрация: 13.07.2008
Сообщений: 23
Восклицание Биссектрисса угла треугольника

Задание в следующем - имееются координаты вершин треугольника.
Необходимо построить биссектриссу от вершины А. Гугление и поиск по форуму пока ни к чему не привели, жду Вашей помощи, Господа.
Хотя бы намёк что-ли..
Igoressicus вне форума Ответить с цитированием
Старый 19.05.2010, 00:01   #2
sabbathist
Пользователь
 
Регистрация: 23.07.2009
Сообщений: 66
По умолчанию

Намек: нормирование векторов, между которыми ищется ищется биссектриса. Потом поиск синуса угла через векторное произведение. ну и поворот вектора на угол в половину от полученного
O(n)

Последний раз редактировалось sabbathist; 19.05.2010 в 00:18.
sabbathist вне форума Ответить с цитированием
Старый 19.05.2010, 01:19   #3
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

Можно использовать свойство деления стороны на пропорциональные отрезки
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  x1, x2, x3, y1, y2, y3, x, y: integer;
  k: single;
begin     randomize;
  x1:=random(800); y1:=random(600);//координаты вершин
  x2:=random(800); y2:=random(600);
  x3:=random(800); y3:=random(600);
  k := sqrt( (sqr(x1-x3) + sqr(y1-y3))/(sqr(x1-x2) + sqr(y1-y2)) );//соотношение длин сторон
  x := round((x3+k*x2)/(1+k));//деление отрезка в заданном соотношении
  y := round((y3+k*y2)/(1+k));
  with PaintBox1.Canvas do begin//рисование
    MoveTo(x1, y1);
    LineTo(x2, y2);
    LineTo(x3, y3);
    LineTo(x1, y1);
    LineTo(x, y)
  end
end;
eoln вне форума Ответить с цитированием
Старый 19.05.2010, 09:20   #4
Z1000000
Форумчанин
 
Регистрация: 04.05.2010
Сообщений: 495
По умолчанию

http://www.opita.net/node/52
Нажми на весы, поставь +
Для благодарностей : WebMoney WMR R252732729948
Z1000000 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вычисление угла и радиуса вектора [C++] ArniLand Общие вопросы C/C++ 8 27.02.2010 19:45
Нахождение тангенса угла наклона (С++) decompressed Помощь студентам 5 31.01.2010 20:06
Как получить угол в градусах по синусу этого угла? Вадим Буренков Общие вопросы Delphi 2 25.05.2009 15:48
Увеличения угла - поворот прямой на угол. Lemo Помощь студентам 8 30.03.2009 20:48