Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.012 c
3-43365
demoncom
2004-02-15 15:40
2004.03.14
Поиск по полю дата


3-43394
Night Cold
2004-02-13 18:09
2004.03.14
BatchMove


1-43678
Ivolg
2004-03-01 18:18
2004.03.14
Прозрочность


1-43433
Serginio666
2004-02-27 13:56
2004.03.14
Implements в Delphi 8


1-43538
nft
2004-02-28 00:35
2004.03.14
Инкапсуляция





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский