Форум: "Основная";
Текущий архив: 2004.03.14;
Скачать: [xml.tar.bz2];
ВнизКак нарисовать перпендикуляр ? Найти похожие ветки
← →
tararasyk (2004-02-27 14:32) [0]В Canvas(е) с помощю MoveTo, LineTo рисую линию, может кто сталкивался как можно нарисовать перпендикуляр к этой линии ..?
← →
MBo (2004-02-27 14:36) [1]вектор, перпендикулярный (X,Y), есть (+-Y, -+X)
← →
Алхимик (2004-02-27 14:36) [2]Сталкивались. Школьный курс геометрии.
Имеем координаты отрезка - кто мешает вычислить перпендикуляр?
Наверно двойка в четверти.
← →
Eagle-XK (2004-02-27 14:50) [3]Это что, новый орех? :-)
← →
TUser (2004-02-27 15:25) [4]Аналитическая геометри в школе не преподается. Если без мат.уклона.
← →
WebErr (2004-02-27 15:30) [5]Если линия задаётся как y(x)=kx+b, то перпендикуляр будет иметь вид y1(x)=-x/k+b1, где b1 можно узнать подставив в уравнения известную точку этой линии (точку из которой исходит перпендикуляр). А вообще это - орех! :))))
← →
Тимохов (2004-02-27 15:33) [6]
> А вообще это - орех! :))))
До него далеко.
← →
GLFox (2004-02-27 15:37) [7]Вот. Это работает.
Canvas.Pen.Style:=psSolid;
Canvas.MoveTo(X1,Y1);
Canvas.LineTo(X2,Y2);
//Getting middle point
iTmpX:=Round((X1+X2)/2);
iTmpY:=Round((Y1+Y2)/2);
//Calculating coefficients for line equation (y=kx+b)
try
CoefK:=(Y2-Y1)/(X2-X1);
CoefK:=-1/CoefK;
except
StatusBar1.Panels[0].Text:="ERROR: Can""t calculate coefficients";
CoefK:=0;
end;
CoefB:=iTmpY-CoefK*iTmpX;
//Drawing perpendicular line
Canvas.MoveTo(0,Round(CoefK*0+CoefB));
Canvas.LineTo(ClientWidth,Round(CoefK*ClientWidth+CoefB));
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.03.14;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.011 c