![]() |
Linie nicht durch Kreis
Hallo,
ich muss von einem Kreis zu einem anderen Kreis einen Pfeil ziehen... Die Kreispositionen sind variabel. Die Mittelpunkte werden einfach per Top+0,5*breite festgelegt... Ich möchte nur jetzt, dass der Pfeil nicht durch die Shapes geh,t sondern so nen paar Pixel vorher aufhört... d.h. ich muss die Koordinaten anpassen. Hat jemand eine Idee wie ich das mache? ![]() |
Re: Linie nicht durch Kreis
du musst als Endpunkt und Startpunkt der Linie den Radius des jeweiligen Kreises abziehen.
Florian |
Re: Linie nicht durch Kreis
hehe ;) das ist mir doch schon klar, nur schau mal, die Linie kann von allen möglichen Richtungen kommen und das muss berücksichtigt werden so einfach geht das nicht... das muss irgendwas mit Vektor und Betrag vom Vektor sein, nur ich weiß nicht wie genau bzw. wie ich das im Quelltext realisieren soll.
|
Re: Linie nicht durch Kreis
da brauchst du keinen vektor, sondern trogonometrie. :)
und zu deinem glück schrieb ich da montag schulaufgabe :-D du wullst wissen, wie viele pixel du nach rechts und nach oben gehen musst, damit deine linie den kreis nur berührt, nicht wahr? schnell ne schöne vollkreisskizze gemacht... sin is für y, cos für x. da wir vom winkel zur strecke wollen, geht das ganze so: y = sin(µ); x = cos(µ); evtl. brauchst du noch ne fallunterscheidung für die einzelnen winkel. also:
Delphi-Quellcode:
wenn du den winkel noch nicht weisst, sag es, dann führ ich das ganze weiter aus(tipp: anfangs- und endpunkt bestimmen eine linie eindeutig, also auch ihren winkel zur x-achse).
//Winkel := µ;
//Sinus if (Winkel > 180) and (Winkel < 360) then y := -y; //Cosinus if (Winkel > 90) and (Winkel < 270) then x := -x; |
Re: Linie nicht durch Kreis
Hi Logic,
kannst Du den Quellcode posten, mit dem man einen Pfeil zeichnen kann? Vielen dank! |
Re: Linie nicht durch Kreis
Hallo DGL-luke ... ich muss sagen, dass ich es leider nicht verstanden habe ... wäre nett wenn du es weiter ausführen könntest :) danke
@BlueStar: ![]() |
Re: Linie nicht durch Kreis
Liste der Anhänge anzeigen (Anzahl: 1)
sodele, hab hier ne zeichnung, anhand derer man es nachvollziehen können sollte:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:55 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