![]() |
AW: Halbkreis zwischen zwei Punkten zeichnen.
Dann halt: (Wenn ich mich auf die schnelle nicht vertue)
Delphi-Quellcode:
function getQdOuterCircQdDiff(const InnerQuadSideLen: Extended): Extended;
begin Result := (Sqrt(2*Power(InnerQuadSideLen,2)) - InnerQuadSideLen)/2; end; |
AW: Halbkreis zwischen zwei Punkten zeichnen.
Zitat:
<=> Result := (Sqrt(2)-1)*InnerQuadSideLen/2; |
AW: Halbkreis zwischen zwei Punkten zeichnen.
Sorry aber ich verstehe nur Bahnhof, boar eh zum kotzen wenn man das nicht mehr hinbekommt :(.
Soweit bin ich jetzt l := Sqrt( Sqr(x2-x1) + Sqr(y2-y1) ); Jetzt habe ich schonmal die Hypotenuse :wink: Wenn ich jetzt per Rectangle(0,0, l, l) bekomme ich ein Quadrat wo ich meinen halbkreis rein zeichnen kann, oder :stupid:. |
AW: Halbkreis zwischen zwei Punkten zeichnen.
Probier mal das hier:
Code:
AbstandDifferenz = SQRT(2*SeitenlängeDesQuadrats^2)/2 - SeitenlängeDesQuadrats
|
AW: Halbkreis zwischen zwei Punkten zeichnen.
ich bin sicher, dass alles ganz trivial ist...
Mir ist nicht ganz klar 1.) was hast Du 2.) was willst Du.. |
AW: Halbkreis zwischen zwei Punkten zeichnen.
Also ich habe einmal P1 x,y und P2 x,y. Das sind die beiden Koordinaten die ich mit einem Halbkreis verbinden möchte.
Den Halbkreis möchte ich mit der Methode Arc zeichnen. Wenn ich jetzt mit P1 und P2 ein Rechteck zeiche und dann mit Arc den Kreis. Ist der Kreis ja "zwischen" P1 und P2. Aber der Anfang vom Halbkreis muss P1 sein und das ende P2 im 180 Grad Winkel. Was ich habe sind P1, P2 und die Hypotenuse. Nochmal danke für die Hilfe. |
AW: Halbkreis zwischen zwei Punkten zeichnen.
Hast du dir meine Lösung genauer angeschaut?
|
AW: Halbkreis zwischen zwei Punkten zeichnen.
Ja es hat aber nicht funktioniert, oder ich habe es falsch umgesetzt.
Aber ich habe es geschafft :-D . Geht bestimmt auch einfacher :wink:.
Delphi-Quellcode:
Danke für die Hilfe!
x1 := wert;
y1 := wert; x2 := wert; y2 := wert; mx := (x2 + x1) div 2; my := (y2 + y1) div 2; laenge := Sqrt( Sqr(x2-x1) + Sqr(y2-y1) ); x1 := Round(mx-(laenge / 2)); y1 := .... Arc(x2,y2, x1,....) |
AW: Halbkreis zwischen zwei Punkten zeichnen.
Delphi-Quellcode:
var
px1,py1,px2,py2, ipx1, ipy1, ipx2,ipy2:Integer; f:Double; begin px1 := 100; py1 := 100; px2 := 500; py2 := 500; ipx1 := px1 ; ipy1 := py1 ; ipx2 := px2 ; ipy2 := py2 ; f := (1 - sin(DegToRad(45))) * (px2-px1) / SQRT(2); Canvas.Rectangle(px1,py1,px2,py2); Canvas.Arc(Round(px1 - f),Round(py1 - f),Round(px2 + f),Round(py2 + f), ipx2,ipy2, ipx1, ipy1); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:03 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