Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Нарисовать линию, если задан угол направления


Автор: Igor_K 2.2.2009, 13:32
Здравствуйте! 

Подскажите пожалуйста как мне нарисовать линию такую. Заданы координаты начала линии, длина линии и угол направления. Как нарисовать такую линию? Это для борланд турбо с++.

Например точка А - начало линии: А(100; 100).
Длина линии: l = 100 пикселей
Угол = 70 градусов.

Подскажите пожалуйста, если знаете! smile 

Автор: Earnest 2.2.2009, 13:51
Вычисли координаты второй точки, лежащей на заданном расстоянии от первой -> теорема Пифагора. 
Насколько я помню, должна быть функция, которая умеет провести линию от одной точки до другой.

Автор: GoldFinch 2.2.2009, 16:07
(x2,y2)=(x1+r*cos(phi),y1+r*sin(phi))
учи основы элементарной аналитической геометрии, неуч

Автор: Igor_K 2.2.2009, 17:11
GoldFinch, да, я неуч. не спорю  smile 
Учил когда-то давно аналитическую геометрию и линейную алгебру - одним предметом была.

Формула у тебя не правильная. Угол не правильный. Указываю 90 градусов, а выходит линя повернутая где-то на 240 градусов.



Earnest, теорема косинусов? А как координаты найти? Сторону можно найти, а координаты...

Автор: Earnest 2.2.2009, 17:16
Теорема косинусов тоже годится, но здесь все гораздо проще.
GoldFinch все правильно написал. Разве что забыл добавить, что угол должен быть в радианах. Эти формулы вообще-то в школе проходят, классе в 7-8 на геометрии: решение прямоугольных треугольников.

Автор: Igor_K 2.2.2009, 17:23
Earnest, Спасибо. Точно в радианах! Теперь все нормально. Спасибо большое.

А математику я никогда не любил, она мне не очень давалась.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)