AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Preisfrage: Kreis beschreiben ohne Pi, Arc, Sin, Cos etc.
Thema durchsuchen
Ansicht
Themen-Optionen

Preisfrage: Kreis beschreiben ohne Pi, Arc, Sin, Cos etc.

Ein Thema von Minz · begonnen am 12. Dez 2003 · letzter Beitrag vom 12. Dez 2003
Antwort Antwort
Seite 1 von 2  1 2      
Minz

Registriert seit: 19. Dez 2002
476 Beiträge
 
#1

Preisfrage: Kreis beschreiben ohne Pi, Arc, Sin, Cos etc.

  Alt 12. Dez 2003, 15:25
Hehe gibt keinen Preis aber dafür die Frage

habe da schon eine Lösung fertig, mich interessiert nur,
obs da noch was cleverererereres gibt.

Also Pi und Arc, Cos, Sin, Tan und was da sonst noch so
gibt sind verboten.

Es soll die Möglichkeit geboten werden, die x/y-Werte
der Punkte, die auf dem Kreis liegen zu bekommen.

Gruß Minz
  Mit Zitat antworten Zitat
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Preisfrage: Kreis beschreiben ohne Pi, Arc, Sin, Cos etc

  Alt 12. Dez 2003, 15:29
1. einen Mittelpunkt festlegen
2. einen Radius festlegen
3. vom Mittelpunkt ausgehend alle Punkte finden,
die vom Mittelpunkt so weit wie der Radius sind

fettisch
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat
Minz

Registriert seit: 19. Dez 2002
476 Beiträge
 
#3

Re: Preisfrage: Kreis beschreiben ohne Pi, Arc, Sin, Cos etc

  Alt 12. Dez 2003, 15:30
ähm bei Punkt 3 wirds interessant
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Preisfrage: Kreis beschreiben ohne Pi, Arc, Sin, Cos etc

  Alt 12. Dez 2003, 15:30
Alle Werte, die auf dem Kreis liegen, oder nur alle in einer vorgegebenen Liste?
Alle wirst du nie bestimmen können, da es unendlich viele gibt.

Hast du eine Liste und musst entscheiden, ob ein Punkt auf einem Kreis liegt oder nicht, brauchst du nur den Mittelpunkt und den Radius. Ist der Betrag des Abstands zw. Mittelpunkt und gegebenem Punkt (Pythagoras!) gleich dem Radius, so liegt der Punkt auf dem Kreis, andernfalls nicht.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#5

Re: Preisfrage: Kreis beschreiben ohne Pi, Arc, Sin, Cos etc

  Alt 12. Dez 2003, 15:30
ich weiss
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat
Minz

Registriert seit: 19. Dez 2002
476 Beiträge
 
#6

Re: Preisfrage: Kreis beschreiben ohne Pi, Arc, Sin, Cos etc

  Alt 12. Dez 2003, 15:34
@Chewie

sagen wir so, es soll mit der Lösung ein Kreis auf den Bildschirm gemalt werden.

1. der Kreis soll Rund sein
2. er soll durchgängig sein
  Mit Zitat antworten Zitat
Benutzerbild von d3g
d3g

Registriert seit: 21. Jun 2002
602 Beiträge
 
#7

Re: Preisfrage: Kreis beschreiben ohne Pi, Arc, Sin, Cos etc

  Alt 12. Dez 2003, 15:35
Ein bisschen Pseudocode:
Code:
Read CenterX, CenterY, Radius
Read Epsilon // Fehlerschranke, klein wählen
FOR I = 0 TO MaxX
  FOR J = 0 TO MaxY
    IF Radius - Epsilon / 2 < SQRT((CenterX - I)^2 + (CenterY - J)^2) < Radius + Epsilon / 2
      SetPoint I, J
  END
END
Der Satz des Pythagoras ist das einzige, was verwendet wird.
-- Crucifixion?
-- Yes.
-- Good. Out of the door, line on the left, one cross each.
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Preisfrage: Kreis beschreiben ohne Pi, Arc, Sin, Cos etc

  Alt 12. Dez 2003, 15:40
OK, also alle Punkte wirst du nie bekommen, aber für die grafische Ausgabe muss deine Punktauflösung nicht höher als die Bildschirmauflösung sein, um einen Kreis darzustellen. Überleg dir also einen geeigneten Punktabstand. Dann fängst du mit einem Punkt an, der sicher auf dem Kreis liegt (z.B. (x,y+r)), erhöhst in Schleifen den x- und y-Wert um deinen gewählten Abstand und prüfst, ob der Punkt auf dem Kreis liegt.
Dass diese Variante unperformant wie sonstwas ist, ist klar, oder? Optimieren könnte man sie, indem man bedenkt, dass ja die minimalen und maximalen x-Koordinaten feststehen:
- minimum-x: x-r
- maximum-x: x+r
- minimum-y: y-r
- maximum-y: y+r

So hättest du deinen Suchbereich mal auf ein Quadrat eingeengt, was den Aufwand deutlich verringert. Nun könnte man noch irgendwie versuchen, den Suchbereich noch weiter einzuengen, allerdings fällt mir da spontan auch keine Lösung ein.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Minz

Registriert seit: 19. Dez 2002
476 Beiträge
 
#9

Re: Preisfrage: Kreis beschreiben ohne Pi, Arc, Sin, Cos etc

  Alt 12. Dez 2003, 15:44
@d3g erklär doch mal

@chewie
ist eine Lösung, mag ich aber net
  Mit Zitat antworten Zitat
Alibi

Registriert seit: 15. Aug 2003
Ort: Bispingen
94 Beiträge
 
Delphi 7 Personal
 
#10

Re: Preisfrage: Kreis beschreiben ohne Pi, Arc, Sin, Cos etc

  Alt 12. Dez 2003, 15:44
Aus der Ellipsengleichung:
x^2/a^2 + y^2/b^2 = 1
den Ellipsensonderfall Kreis (a und b sind gleich, hier r für Radius):
(x^2+^2)/r^2=1
Fertig.
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning.
  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 22:52 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