forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Основной форум (http://forum.boolean.name/forumdisplay.php?f=49)
-   -   Рисование треугольника по углам (http://forum.boolean.name/showthread.php?t=11798)

Arenyan 28.01.2010 00:21

Рисование треугольника по углам
 
Как нарисовать треугольник зная его углы?

impersonalis 28.01.2010 01:25

Ответ: Рисование треугольника по углам
 
Вот как средствами MFC я рисовал стрелку (т.е. линиюс треугольником на конце).
Линия от (x1,y1) до (x2,y2).
Острие стрелки - (x3,y3).
LenNodVLine - высота, из (x3,y3).
AngNodVLine - половина(?) угла при вершине (x3,y3).
Код:

                alpha=atan(double(y2-y1)/double(x2-x1));
                if(x2-x1>=0)alpha+=PI;
                x4=x3+LenNodVLine*cos(alpha-AngNodVLine);
                x5=x3+LenNodVLine*cos(alpha+AngNodVLine);
                y4=y3+LenNodVLine*sin(alpha-AngNodVLine);
                y5=y3+LenNodVLine*sin(alpha+AngNodVLine);

                LINK[0].x=x3;
                LINK[0].y=y3;
                LINK[1].x=x4;
                LINK[1].y=y4;
                LINK[2].x=x5;
                LINK[2].y=y5;

                dc.MoveTo(x1,y1);
                dc.LineTo(x2,y2);
                dc.Polygon(LINK,3);

Если не найдёшь готовый алгоритм - не трудно из моего вывести.
Или MidletPascal не умеет рисовать многоуольники?
Вопрос алгоритмический или на математику?

odd 28.01.2010 17:55

Ответ: Рисование треугольника по углам
 
В библиотеке Lib_gfx есть функции как рисования так и закраски треугольника.


Часовой пояс GMT +4, время: 06:38.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot