Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Pfeil am Ende eines Bogens zeichnen ? (https://www.delphipraxis.net/129472-pfeil-am-ende-eines-bogens-zeichnen.html)

thomas2009 19. Feb 2009 17:33


Pfeil am Ende eines Bogens zeichnen ?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo

kann jemand mir helfen um einen Pfeil am Ende eines Bogens wie im Bild zu zeichnen
Delphi-Quellcode:

// Bogen :
Canvas.Arc(0,0,200,200,  200,100,  100,0);
// Pfeil
...

himitsu 19. Feb 2009 18:11

Re: Pfeil am Ende eines Bogens zeichnen ?
 
Das Ende des Bogens errechnen und da 'nen Pfeil dran malen.

- aus der-X-Y-Angebe des entsprechenden Endes und dem Kreismittelpunkt (X1,Y1,X2,Y2) den Winkel (Richtung des Kreisendes vom Mittelpunkt aus) errechnen
- über Winkel und Radius die Position des Endes errechnen
- den Winkel um 90 Grad drehen
- und dann über die Ende-Position und den Winkel kann man dann die Enden der 2 Linien berechnen und diese Malen

oder mal warten ... die Winkel sind da ja schon drin
Arc( z,e,i,c,h,n,e,n) 1/4 Kreis
vielleicht fürgt derjenige dort ja noch 'ne Version mit Pfeil mit ein :angel2:

sirius 19. Feb 2009 18:16

Re: Pfeil am Ende eines Bogens zeichnen ?
 
Und die x und y Koordinaten des Endpunktes bekommst du über den radius mit der Geradengleichung aus Mittelpunkt und den letzten beiden Parametern von Canvas.Arc.

himitsu 19. Feb 2009 20:33

Re: Pfeil am Ende eines Bogens zeichnen ?
 
Also bei 'nem Kreis isses einfach ... siehe anderer Beitrag,
aber bei 'ner Ellipse ... :shock:


- Endpunkt berechnen,
- den Winkel zum Schnittpunkt z.B. um 45+15° und 45-15° drehen
- und dann wiederrum über Sin+Cos je eine Linie vom Schnittpunkt
um x Pixel in die errechneten Richtungen (Winkel: 45° +/- 15°) zeichnen


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:59 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz