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 1 von 2  1 2      
Benutzerbild von Bummi
Bummi

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

AW: Halbkreis zwischen zwei Punkten zeichnen.

  Alt 14. Mär 2011, 14:39
suchst Du sowas?
Delphi-Quellcode:
var
  px1,py1,px2,py2, ipx1, ipy1, ipx2,ipy2:Integer;
begin
  px1 := 100;
  py1 := 100;
  px2 := 300;
  py2 := 300;
  ipx1 := px1 + 40;
  ipy1 := py1 + 40;
  ipx2 := px2 - 40;
  ipy2 := py2 - 40;

  Canvas.Arc(px1,py1,px2,py2, 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
Jackie1983

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

AW: Halbkreis zwischen zwei Punkten zeichnen.

  Alt 14. Mär 2011, 14:41
Genau so in der Art mache ich es Zur zeit.
Nur die 40 kenne ich ja nicht die muss ich ja berechnen nur weiß ich nicht wie.
//Edit ich muss also immer ein quadrat um die beiden punkte zeichnen und diese per halbkreis verbinden.

Geändert von Jackie1983 (14. Mär 2011 um 15:07 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jokerfacehro
jokerfacehro

Registriert seit: 13. Feb 2007
306 Beiträge
 
Delphi 7 Enterprise
 
#3

AW: Halbkreis zwischen zwei Punkten zeichnen.

  Alt 14. Mär 2011, 15:09
dreh mal das innere grüne "quadrat" gedanklich um 45°.
dann solltest du es sehen ^^

die länge der diagonalen des grünen quadrats entspricht der seitenlänge des roten quadrats

Edit: wenn das wirklich quadrate sein sollen ^^
"Never touch a running system administrator !"
  Mit Zitat antworten Zitat
Benutzerbild von mleyen
mleyen

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

AW: Halbkreis zwischen zwei Punkten zeichnen.

  Alt 14. Mär 2011, 15:24
Ist jetzt die Entfernung vom äußerem zum innerem Quadrat gesucht, wobei die Seitenlänge vom äußerem Quadrat gegeben ist?
Dann:
Delphi-Quellcode:
function getQdInnerCircQdDiff(const QuadSideLenDiv2: Extended): Extended;
begin
  Result := QuadSideLenDiv2 - Sin(Pi/180*45)*QuadSideLenDiv2;
end;
  Mit Zitat antworten Zitat
Jackie1983

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

AW: Halbkreis zwischen zwei Punkten zeichnen.

  Alt 14. Mär 2011, 15:30
Ne das grüne habe ich. Also die Entfernung vom grünen zum roten.
45°... ja ok stimmt, jetzt muss ich das nur irgend wie in eine formel bekommen.
  Mit Zitat antworten Zitat
Jumpy

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

AW: Halbkreis zwischen zwei Punkten zeichnen.

  Alt 14. Mär 2011, 15:39
Du hast doch Mittelpunkt und Radius des Kreises, oder was versteh ich jetzt nicht? Daraus leitet sich doch alles weitere ab...
Vllt. mal den Kreis ganz zeichnen, dann sieht mans doch.
Ralph

Geändert von Jumpy (14. Mär 2011 um 15:42 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von mleyen
mleyen

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

AW: Halbkreis zwischen zwei Punkten zeichnen.

  Alt 14. Mär 2011, 15: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
Benutzerbild von Bummi
Bummi

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

AW: Halbkreis zwischen zwei Punkten zeichnen.

  Alt 15. Mär 2011, 10: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
Benutzerbild von Aphton
Aphton

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

AW: Halbkreis zwischen zwei Punkten zeichnen.

  Alt 14. Mär 2011, 16: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 20: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
 
#10

AW: Halbkreis zwischen zwei Punkten zeichnen.

  Alt 14. Mär 2011, 22: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
Antwort Antwort
Seite 1 von 2  1 2      


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 15:49 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