Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.01.27;
Скачать: CL | DM;

Вниз

TCanvas (нарисовать стрелочку)   Найти похожие ветки 

 
fics ©   (2007-12-26 17:59) [0]

С наступаущим всех Новым Годом. Подскажите пожалуйта как рисовать стрелочку "на конце линии". Ну вот для примера кусочек кода(перемещаю шейпы, и перерисовывается линия от ондного шайпа к другому) А как сделать чтобы рисовалась стрелочка от дного к другому шейпу непойму, какой формулой пользоваться.
Разберался в одном исходнике (фомула Мейсона) но ничего к сожалению не понял.

................................................................................ .......................
procedure TForm1.PaintBox1Paint(Sender: TObject);
begin
with PaintBox1.Canvas do begin
 MoveTo(Shape1.Left+5,Shape1.Top+5);
 LineTo(Shape2.Left+5,Shape2.Top+5);
 {5 - это половина длины
  Shap-a чтобы линия рисовалась от центра одного
  к центру другого компонента  }
end;
end;

procedure TForm1.Shape1MouseMove(Sender: TObject; Shift: TShiftState; X,
 Y: Integer);
begin
//перемещение по форме
if (SSLeft in Shift) then begin
TShape(Sender).Left:=TShape(Sender).Left+X;
TShape(Sender).Top:=TShape(Sender).Top+Y;
PaintBox1.Repaint;
end;
end;

procedure TForm1.Shape2MouseMove(Sender: TObject; Shift: TShiftState; X,
 Y: Integer);
begin
Shape2.OnMouseMove:=Shape1.OnMouseMove;
end;


 
@!!ex ©   (2007-12-26 18:06) [1]

> [0] fics ©   (26.12.07 17:59)

рисуешь линию. потом с кона линии еще одну, под углом градусов 15, и еще одну под углом - 15.
Получаешь стрелочку.
И где проблема?


 
fics ©   (2007-12-26 18:12) [2]

Так проблем бы не  было если бы линия была неподвижна, а вот при перемещении, стрелочки начинают "плясать". А как задать что-то в градусах,
впервый раз с такой проблемой сталкивають, потому и спрашиваю.


 
AlexanderMS ©   (2007-12-26 18:13) [3]


> непойму, какой формулой пользоваться.

Какая стрелочка нужна?
Если "треугольник", то см. векторы: коллинеарность, перпендикулярность векторов.


 
@!!ex ©   (2007-12-26 18:19) [4]

> [2] fics ©   (26.12.07 18:12)

Что значит "плясать" начинают??
Впервые слышу такую проблему...
http://afera-net.narod.ru/GraphEditor.rar
Ничто никуда не пляшет вроде...


 
Джо ©   (2007-12-26 18:28) [5]

[offtop]
Праздники, стрелки пляшут :)
[/offtop]


 
fics ©   (2007-12-26 18:28) [6]


> @!!ex ©


> http://afera-net.narod.ru/GraphEditor.rar


Но там только exe файл, как решить мою проблему никаких данных нет.


 
@!!ex ©   (2007-12-26 18:40) [7]

> [6] fics ©   (26.12.07 18:28)

Я уже сказал как ее решить. ТАМ решается именно ТАК.
Вектор то повернуть то сможешь, относительно центра координат?
Это вроде в классе 8 проходят...


 
Григорьев Антон ©   (2007-12-27 08:33) [8]

Вот несколько вариантов:

http://www.delphikingdom.com/asp/answer.asp?IDAnswer=33048
http://www.delphikingdom.com/asp/answer.asp?IDAnswer=30942
http://www.delphikingdom.com/asp/answer.asp?IDAnswer=28175
http://www.delphikingdom.com/asp/answer.asp?IDAnswer=19368


 
fics ©   (2007-12-27 11:38) [9]


> Григорьев Антон

Спасибо



Страницы: 1 вся ветка

Текущий архив: 2008.01.27;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.014 c
15-1198152858
Сергей М.
2007-12-20 15:14
2008.01.27
О файрволах и платформах


2-1198863940
OpTiKaL
2007-12-28 20:45
2008.01.27
Проблема с библиотекой


2-1198184627
ProgRAMmer Dimonych
2007-12-21 00:03
2008.01.27
Проконсультируйте по поводу работы с файлами


15-1198089746
serega
2007-12-19 21:42
2008.01.27
Установка


15-1197305009
{RASkov}
2007-12-10 19:43
2008.01.27
Delphi To TP