AGB  ·  Datenschutz  ·  Impressum  







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

Halbkreis zwischen zwei Punkten zeichnen.

Ein Thema von Jackie1983 · begonnen am 14. Mär 2011 · letzter Beitrag vom 15. Mär 2011
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von mleyen
mleyen

Registriert seit: 10. Aug 2007
609 Beiträge
 
FreePascal / Lazarus
 
#11

AW: Halbkreis zwischen zwei Punkten zeichnen.

  Alt 14. Mär 2011, 16:46
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;
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.736 Beiträge
 
Delphi 6 Enterprise
 
#12

AW: Halbkreis zwischen zwei Punkten zeichnen.

  Alt 14. Mär 2011, 16:52
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;
<=> Result := (Sqrt(2)*InnerQuadSideLen - InnerQuadSideLen)/2;
<=> Result := (Sqrt(2)-1)*InnerQuadSideLen/2;
Ralph
  Mit Zitat antworten Zitat
Jackie1983

Registriert seit: 12. Mär 2007
486 Beiträge
 
#13

AW: Halbkreis zwischen zwei Punkten zeichnen.

  Alt 14. Mär 2011, 17:11
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
Wenn ich jetzt per Rectangle(0,0, l, l) bekomme ich ein Quadrat wo ich meinen halbkreis rein zeichnen kann, oder .
  Mit Zitat antworten Zitat
Benutzerbild von Aphton
Aphton

Registriert seit: 31. Mai 2009
1.198 Beiträge
 
Turbo Delphi für Win32
 
#14

AW: Halbkreis zwischen zwei Punkten zeichnen.

  Alt 14. Mär 2011, 17:59
Probier mal das hier:
Code:
AbstandDifferenz = SQRT(2*SeitenlängeDesQuadrats^2)/2 - SeitenlängeDesQuadrats
das Erkennen beginnt, wenn der Erkennende vom zu Erkennenden Abstand nimmt
MfG

Geändert von Aphton (14. Mär 2011 um 21:10 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#15

AW: Halbkreis zwischen zwei Punkten zeichnen.

  Alt 14. Mär 2011, 23:40
ich bin sicher, dass alles ganz trivial ist...
Mir ist nicht ganz klar
1.) was hast Du
2.) was willst Du..
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Jackie1983

Registriert seit: 12. Mär 2007
486 Beiträge
 
#16

AW: Halbkreis zwischen zwei Punkten zeichnen.

  Alt 15. Mär 2011, 09:00
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.
  Mit Zitat antworten Zitat
Benutzerbild von Aphton
Aphton

Registriert seit: 31. Mai 2009
1.198 Beiträge
 
Turbo Delphi für Win32
 
#17

AW: Halbkreis zwischen zwei Punkten zeichnen.

  Alt 15. Mär 2011, 09:22
Hast du dir meine Lösung genauer angeschaut?
das Erkennen beginnt, wenn der Erkennende vom zu Erkennenden Abstand nimmt
MfG
  Mit Zitat antworten Zitat
Jackie1983

Registriert seit: 12. Mär 2007
486 Beiträge
 
#18

AW: Halbkreis zwischen zwei Punkten zeichnen.

  Alt 15. Mär 2011, 09:30
Ja es hat aber nicht funktioniert, oder ich habe es falsch umgesetzt.
Aber ich habe es geschafft . Geht bestimmt auch einfacher .

Delphi-Quellcode:
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,....)
Danke für die Hilfe!
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#19

AW: Halbkreis zwischen zwei Punkten zeichnen.

  Alt 15. Mär 2011, 11:19
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;
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 07:25 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