Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Kreis Winkelberechnung (https://www.delphipraxis.net/127938-kreis-winkelberechnung.html)

mr_emre_d 21. Jan 2009 17:45

Re: Kreis Winkelberechnung
 
Möchte den Wirkungsbereich ja nur möglichst am Kreis haben.
- Es ist eh am Kreis:

Spiel mal ein wenig mit dem M-Vektor !
Setz auf M = Point( 500, 50 )
und umschreibe die Ellipse zu Rectangle !

Ansonsten versteh ich ned ganz dein Problem ... :S

MfG

Poring 21. Jan 2009 17:53

Re: Kreis Winkelberechnung
 
Liste der Anhänge anzeigen (Anzahl: 1)
Da es im
Delphi-Quellcode:
TForm1.FormPaint
steht, kann ich überall auf der Form hinklicken und es wird berechnet. Allerdings sollen dort ja noch andere Dinge hin, deswegen möchte ich das nur der Winkel berechnet wird wenn man auch etwa in kurzer Entfernung zum Kreis irgendwo hinklickt.
Besser verständlich?

Siehe Bild: Nur im roten Bereich soll gerechnet werden

Fussball-Robby 21. Jan 2009 18:01

Re: Kreis Winkelberechnung
 
Berechne im OnMouseDown (ich schätze mal da wird gerechnet) mittels dem Satz des Pythagoras den Abstand vom angeklickten Punkt zum Mittelpunkt: Distanz = Wurzel((xMitte - X)² + (yMitte - Y)²) und rechne nur wenn die Distanz für dich klein genug ist,. Oder, wenn du es in einem Rechteck haben willst, hilft dir die Funktion Delphi-Referenz durchsuchenPtInRect() weiter.

mr_emre_d 21. Jan 2009 18:03

Re: Kreis Winkelberechnung
 
Nein nein Robby.. Geht viel einfacher: ;)
Nimm einfach den Betrag von MP ( MP = Mittelpunk des Kreises bis Punkt )

MP := P - M
Länge MP = SQRT(MP.X*MP.X + MP.Y*MP.Y)
wenn Länge <= Radius dann im Kreis !!

MfG

Poring 21. Jan 2009 18:06

Re: Kreis Winkelberechnung
 
Er berechnet so oder so immer nur vom MP bis zum Kreis.
Ich will nur, das ich auserhalb des roten Kästchen klicken kann, ohne das er irgendwas berechnet, zeichnet, oder ähnliches. Sondern das alles nur macht wenn man innerhalb des roten Kästchen drückt?

Fussball-Robby 21. Jan 2009 18:10

Re: Kreis Winkelberechnung
 
Zitat:

Zitat von Poring
Er berechnet so oder so immer nur vom MP bis zum Kreis.
Ich will nur, das ich auserhalb des roten Kästchen klicken kann, ohne das er irgendwas berechnet, zeichnet, oder ähnliches. Sondern das alles nur macht wenn man innerhalb des roten Kästchen drückt?

Ich habe dir doch die Funktion bereits genannt: PtInRect. Beispiel: (schnell hingetippt)
Delphi-Quellcode:
var
  Rec: TRect;
  RecWidth, RecHeight: Integer;
begin
  RecWidth := Radius + 10;
  RecHeight := Radius + 10;

  Rec.Left := Mitte.X - RecWidth;
  Rec.Right := Mitte.X + RecWidth;

  Rec.Top := Mitte.Y - RecHeight;
  Rec.Bottom := Mitte.Y + RecHeight;

  if PtInRect(Rec, Point(X, Y)) then
    Rechnen();
end;
Musst du natürlich auf dein Programm zuschneiden.


Zitat:

Zitat von mr_emre_d
Nein nein Robby.. Geht viel einfacher: ;)

Deins ist im Wesentlichen das gleiche wie meins, ich habe nur den Zwischenschritt mit dem Betrag weggelassen :wink:

Poring 21. Jan 2009 18:22

Re: Kreis Winkelberechnung
 
Geht! :)

Vielen lieben Dank!


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:30 Uhr.
Seite 2 von 2     12   

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