Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   C# Zeichnen eines sich _aufbauenden_ Kreises (https://www.delphipraxis.net/157721-zeichnen-eines-sich-_aufbauenden_-kreises.html)

Pseudemys Nelsoni 22. Jan 2011 09:01

Zeichnen eines sich _aufbauenden_ Kreises
 
Guten Morgen,

ich würde gerne einen Kreis zeichnen, der sich (als Beispiel) innerhalb von 5 Sekunden aufbaut, d.h erst dann soll er komplett sein.

Leider fehlen mir dazu die Ideen... Einen fertigen Kreis der sofort sichtbar ist, ist per DrawEllipse() ja leicht zu realisieren.

Habe an einen Timer gedacht, der den Kreis innerhalb von 5 Sekunden fertigzeichnen soll... Wie aber bekomme ich die kompletten Punkte eines Kreises?

Phoenix 22. Jan 2011 09:09

AW: Zeichnen eines sich _aufbauenden_ Kreises
 
Schau Dir mal den Bresenham-Algorithmus an.
Mit dem kannst Du zum Zeichnen exakt die Kreispunkte berechnen.

http://de.wikipedia.org/wiki/Bresenham-Algorithmus
- hier auf der Seite weiter unten der Abschnitt Kreisvariante.

Auch interessant: Es reicht, wenn Du mit diesem Teil nur das erste Kreisviertel berechnest. Wenn Du den Kreismittelpunkt als 0/0 Koordinate bezeichnest reicht es dann, die Punkte auf die anderen Sektoren zu übertragen (also jeweils einmal an den Achsen Spiegeln bzw. * -1 für das gegenüberliegende Segment).

Bummi 22. Jan 2011 09:39

AW: Zeichnen eines sich _aufbauenden_ Kreises
 
Über sin/cos die Haltepunkte von 0 bis 2 Pi berechnen, 1 * MoveTo ab dann LineTo

himitsu 22. Jan 2011 09:40

AW: Zeichnen eines sich _aufbauenden_ Kreises
 
Was ist "aufbauen"?
von oben nach unten / von punkt auf groß / von strich über tortenstück / ...

Eventuell hilft ja Delphi-Referenz durchsuchenTCanvas.Arc oder Delphi-Referenz durchsuchenTCanvas.Pie

Pseudemys Nelsoni 22. Jan 2011 11:53

AW: Zeichnen eines sich _aufbauenden_ Kreises
 
@Phoenix: Heißt das, ich müsste die Funktionen die es bereits gibt sozusagen nachbauen? Z.B DrawEllipse() ?

@Bummi: Warum genau von 0-2 ?

@Himitsu: Ich meine die Kontur eines Kreises aufbauen, so wie ein Zirkel es tut.


Allgemeine Frage: Da DrawEllipse()ja einen Kreis zeichnet, wird diese Funktion ja wissen, welche Punkte auf dem Bildschirm einzufärben sind.
Ist es nicht möglich an diese Punkte zu kommen, ohne direkt zu zeichnen?

Hawkeye219 22. Jan 2011 12:14

AW: Zeichnen eines sich _aufbauenden_ Kreises
 
Hallo Mario,

ich bin kein Dot.NET-Fachmann, aber Graphics.DrawArc sieht nach einer passenden Methode aus, wenn du den letzten Parameter zeitgesteuert änderst.

Gruß Hawkeye


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:01 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