AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Kreis zeichnen ohne Zeichenmethoden oder Winkelfunktionen
Thema durchsuchen
Ansicht
Themen-Optionen

Kreis zeichnen ohne Zeichenmethoden oder Winkelfunktionen

Ein Thema von clarity · begonnen am 5. Sep 2005 · letzter Beitrag vom 6. Sep 2005
Antwort Antwort
clarity

Registriert seit: 20. Jul 2004
Ort: Radis
15 Beiträge
 
Delphi 6 Personal
 
#1

Kreis zeichnen ohne Zeichenmethoden oder Winkelfunktionen

  Alt 5. Sep 2005, 17:33
Hallo Leute,
der Titel sagt es ja eigentlich schon.
Wir sollen einen Kreis zeichnen, ohne dabei Zeichenmethoden (Canvas.Ellipse o.ä.) zu verwenden. Ich hatte es jetzt mit winkelfunktionen gelöst, habe nun aber die Aufgabe bekommen, es ohne selbige zu lösen (wg. Schnelligkeit).
Hab schon im Forum gestöbert und gegoogelt hab aber kaum was brauchbares gefunden
Kann mir einer weiterhelfen ?? Kriegs einfach nicht gebacken , wäre sehr freundlich

Vlg, Alex
Alex Mensch
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#2

Re: Kreis zeichnen ohne Zeichenmethoden oder Winkelfunktione

  Alt 5. Sep 2005, 17:44
Such mal nach dem Bresenham Algorithmus. Der laesst sich auch zum Kreis/Ellipse malen ueberreden.
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#3

Re: Kreis zeichnen ohne Zeichenmethoden oder Winkelfunktione

  Alt 5. Sep 2005, 21:25
Bresenham-Algorithmus zum Zeichnen eines Kreises

einen Kreis zu Fuß zeichen

Delphi-Quellcode:
procedure Circle(Canvas: TCanvas; X, Y, Radius: Word; Color: TColor);
var
  x1, x2, y1, y2, r2, d: integer;
  h: real;
begin
  H := 0.5;
  Y2 := 0;
  d := round((Radius * 3.2) / (SQR(2) + h));
  X2 := Radius * Radius;
  x1 := Radius;
  R2 := X2 + d;
  for y1 := 0 to d do
  begin
    if Y2 + X2 > R2 then
    begin
      X2 := X2 - x1 - x1 + 1;
      x1 := x1 - 1;
    end;
    with Canvas do
    begin
      pixels[X - x1, Y - y1] := Color;
      // ...
    end;
    Y2 := Y2 + y1 + y1 + 1;
  end;
end;
MfG.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#4

Re: Kreis zeichnen ohne Zeichenmethoden oder Winkelfunktione

  Alt 6. Sep 2005, 06:40
turboPASCAL, du haettest vielleicht besser erst heute aund auf Anfrage antworten sollen.
Das ist bestimmt eine Hausaufgabe und da sollte man erst nur eine Spur auslegen, damit der Frager lernt selbst zu suchen.

Ist aber nicht wichtig. Ich suhle mich nur im Professorenmodus.

Nun zu den Highlights des Bresenham-Algorrithmus:

- malt Strecken
- malt Kreise
- erlaubt Antialiasing

damit ist es *der* Kernalgorithmus der Grafik.
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#5

Re: Kreis zeichnen ohne Zeichenmethoden oder Winkelfunktione

  Alt 6. Sep 2005, 10:35
Zitat von Robert Marquardt:
turboPASCAL, du haettest vielleicht besser erst heute und auf Anfrage antworten sollen.
...naja, heute, morgen oder doch lieber erst nächste Woche...

Zitat von Robert Marquardt:
Das ist bestimmt eine Hausaufgabe und da sollte man erst nur eine Spur auslegen, damit der Frager lernt selbst zu suchen.
Hm, ja dachte ich mir auch schon...
  1. es ist keine Komplettlösung und man muss dann doch noch ein wenig nachdenken. Der Code zeichnet nicht den gesamten Kreis, man muss man ihn erst verstehen...
  2. der Link Bresenham-Algorithmus zum Zeichnen eines Kreises ist eine Ausgezeichnete Seite um zu lernen und zu verstehen... Linien, Polygone, Kreise u.v.m.
  3. .. ja, möglicher Weise schön ein wenig zuviel Hilfe
  4. fällt mir jetzt nix ein...
Zitat von Robert Marquardt:
Ist aber nicht wichtig. Ich suhle mich nur im Professorenmodus.
... das macht nix da ich mich im Dozentenmodus befinde (hoffentlich war das Jahr nicht um sonst)

Zitat von Robert Marquardt:
Nun zu den Highlights des Bresenham-Algorrithmus:

- malt Strecken
- malt Kreise
- erlaubt Antialiasing

damit ist es *der* Kernalgorithmus der Grafik.
dito.


MfG.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Antwort Antwort


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 04:54 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