AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Halbkreis zwischen zwei Punkten
Thema durchsuchen
Ansicht
Themen-Optionen

Halbkreis zwischen zwei Punkten

Ein Thema von Taugenichts · begonnen am 31. Mai 2006 · letzter Beitrag vom 2. Jun 2006
 
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.780 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: Halbkreis zwischen zwei Punkten

  Alt 1. Jun 2006, 22:10
Nun, da habe ich Dich traurigerweise erstmal in die falsche Wege geleitet.
Es tut mir leid.

Ich habe auch noch ein paar Probleme.
Aber mit Punkten die auf der gleiche X-Achse liegen
geht es mit dem folgenden Code:
Delphi-Quellcode:
procedure circle(canvas:TCanvas;p1,p2:TPoint);
var
  radius: Integer;
  i,x,y: Integer;
  m:real;
begin
  if p1.x = p2.x then
    radius := (p2.y - p1.y) DIV 2
  else
    if p1.y = p2.y then
      radius := (p2.x -p1.x) DIV 2
    else
      radius := round(sqrt ( sqr(p2.x - p1.x) + sqr(p2.y-p1.y))) DIV 2;

  m := (p2.Y - p1.Y)/(p2.x -p1.X);

  canvas.Pen.Color:=clRed;
  canvas.penPos:=p1;
  canvas.LineTo(p2.x,p2.y);
  canvas.PenPos:=p2;

  canvas.Pen.color:=clBlack;
  for i:=0 to 180 do
    begin
      x:=p2.x+round(radius*cos(i*pi/180))-radius;
      y:=p2.y+round(radius*sin(i*pi/180));
      sleep(10);
      canvas.LineTo(x,y);
    end;

end;

procedure TForm1.Button1Click(Sender: TObject);
var
 p1,p2:TPoint;
begin
  p1.X:=450;
  p1.y:=150;
  p2.X:=300;
  p2.Y:=150;
  circle(Form1.Canvas,p1,p2);
end;

end.
Mehr fällt mir dazu heute auch nicht ein.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:22 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