Главная страница
    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
14-43845
Knight
2004-02-21 10:56
2004.03.14
У The Bat а есть нормальные версии или они все такие глючные?


3-43301
3APA3A
2004-02-11 11:38
2004.03.14
приведение типов в SQL


4-43933
bar
2004-01-05 14:03
2004.03.14
Как изменить чужую иконку в tray?


3-43309
Hermes
2004-02-11 18:37
2004.03.14
Нужно добавить параметр в режиме выполнения программы!


1-43656
Marina_S
2004-02-29 17:27
2004.03.14
Runtime error 203





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский