![]() |
Polygone mit Pfeilen zeichnen
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Jungs!
Ich hab was für euch. Seht euch die Anlagen an, dort findet ihr eine Programm mit welchem ich Polygone zeichne und diese dann mit pfeilen versuche zu verbinden. Die Pfeile sind aber nicht immer richtig! Wie behebe ich das Problem. Man muss ziemlich mit sin, cos und vielleicht tan herumbastelt. Bitte helft mir weiter. Ich brauch dringenst die Lösung! danke sixarp P.S: unbedingt die Unit Math einbinden, wenn man mit Winkelfunktionen arbeitet! |
Re: Polygone mit Pfeilen zeichnen
Keine Ahnung, ich bin kein Mathefreak
|
Re: Polygone mit Pfeilen zeichnen
Erst mal HERZLICH WILKOMMEN IN DER DP
ich schaus mir gleich an ;) Ps.: jetzt hab ich das auch mal gesagt :D |
Re: Polygone mit Pfeilen zeichnen
mal ein paar fragen bezüglich der Prozeduren
Delphi-Quellcode:
procedure TForm1.ZeichneKnoten(pos: integer; Knotenname: string);
var x,y: integer; Texthaelfte: integer; begin Knotenpunkt(x, y, pos); end; :shock: für was brauchst du den Knotennamen(den du übrigens mit
Delphi-Quellcode:
ürbergeben hast also 1,2,.. das bringt doch nix(erst recht nix wenn du nacher damit nix machst
ZeichneKnoten(j, IntTOStr(j));
--> Texthaelfte verwendest du auch nicht :| ist das weil dus vorher anders geabt has t oder programmierst du absichtlich mit dem -malgeschirbenkommtnichtweg-prinzip?! na gut soviel dazu.. |
Re: Polygone mit Pfeilen zeichnen
Ich hab was zusammengestellt
Probier mal diesen Source:
Delphi-Quellcode:
procedure TForm1.ZeichneKantenpfeil(x1, y1: Integer; x2, y2: Integer);
const wf = pi/8; L = 20; var dx, dy: Integer; w: Real; p: TPoint; begin dx := x2 - x1; dy := y2 - y1; w := ArcCos(dx / sqrt(sqr(dx) + sqr(dy))); if dy > 0 then w := (2 * Pi) - w; p := Point((x1 + x2) div 2, (y1 + y2) div 2); with Image1.Canvas do begin MoveTo(p.x, p.y); LineTo(p.x - round(cos(w + wf) * L), p.y + round(sin(w + wf) * L)); LineTo(p.x - round(cos(w - wf) * L), p.y + round(sin(w - wf) * L)); LineTo(p.x, p.y); end; end; |
Re: Polygone mit Pfeilen zeichnen
Super! Funktioniert bestens!
sixarp |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:46 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz