AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Koordinatensystem + Kreis --> alle Koordis im Kreis ermittel
Thema durchsuchen
Ansicht
Themen-Optionen

Koordinatensystem + Kreis --> alle Koordis im Kreis ermittel

Offene Frage von "yankee"
Ein Thema von yankee · begonnen am 2. Nov 2004 · letzter Beitrag vom 2. Nov 2004
Antwort Antwort
Benutzerbild von yankee
yankee

Registriert seit: 10. Mär 2004
1.134 Beiträge
 
Lazarus
 
#1

Koordinatensystem + Kreis --> alle Koordis im Kreis ermit

  Alt 2. Nov 2004, 21:37
Hi @ll,

ich habe ein Koodinatensystem. Eine Koordinatenlänge entspricht 1 Längeneinheit (LE)
Irgendwo an einer zufälligen stelle im Koordinatensystem befindet sich der Mittelpunkt eines Kreises mit dem bekannten Radius von nLE.
Jetzt möchte ich alle Koordinaten auflisten, die innerhalb des Kreises liegen.

Ich habe da nicht so richtig 'ne Idee, wie ich das anstelle...
Könnt ihr mir helfen?
Letzter Tipp: Drogen. Machen zwar nicht glücklich, geben einem aber wenigstens das Gefühl glücklich zu sein.

Have a lot of fun!
  Mit Zitat antworten Zitat
xineohp

Registriert seit: 29. Jan 2004
Ort: Heusenstamm
420 Beiträge
 
Delphi 2005 Professional
 
#2

Re: Koordinatensystem + Kreis --> alle Koordis im Kreis e

  Alt 2. Nov 2004, 21:47
moin,

als erste Einschränkung würde ich alle Punkte wegfallen lassen, die nicht im, den Kreis umgebenden, Quadrat liegen. Sprich man lässt zwei Schleifen(i,j) laufen, die eine(i) von mx-r bis mx+r und die zweiter(j) innerhalb der ersten von my-r bis my+r. (wobei mx/my den Mittelpunkt des Kreises und r den Radius des selben in LE angibt)

Innerhalb dieser Schleifen prüfst du dann noch ob der Abstand von i/j von mx/my größer als r LE ist, wenn ja, dann liegt der Punkt außerhalb, wenn nicht, dann innerhalb des Kreises. (frei nach Pythagoras: (i-mx)^2+(j-my)^2 <= r^2)


EDIT: Ich bin davon ausgegangen, dass der Kreismittelunkt auf einem Koordinaten Kreuz liegt, wenn nicht musst du halt jeweils auf den nächsten ganzzahligen Wert runden.
Peter Enenkel
blubb
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#3

Re: Koordinatensystem + Kreis --> alle Koordis im Kreis e

  Alt 2. Nov 2004, 21:53
Hi yankee,

du könntest auch gleich alle Koordinaten auflisten, die diese Gleichung erfüllen:
Code:
(x-x0)²+(y-y0)² <= r²
Nun stellt sich aber die Frage, ob du für einige bekannte Koordinatenpaare festlegen musst, ob sie im Kreis sind oder ob du ALLE Koordinaten ausgeben müssen. Letzteres dürfte wohl aufgrund einiger mathematischer Regeln ("zwischen 2 verschiedenen reellen Zahlen x und y liegt immer mindestens eine reelle Zahl z, für die gilt z <> x <> y")

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#4

Re: Koordinatensystem + Kreis --> alle Koordis im Kreis e

  Alt 2. Nov 2004, 22:15
such mal bei google. ich kiegs nicht mehr genau hin aber es gibt einen "optimierten angepassten bresenham code zum zeichnen von kreisen" oder in english wörter wie "heavily optimized bresenham circle drawing" das sind nicht die perfekten keywords, aber in die richtung. da gibts spieleentwickler, die (vornehmlich c++ mit assembler-kern) da sehr stark optimierte und seeeehr effektive algos zu entwickelt haben.
Michael N.
http://nailor.devzero.de/code/sharpmath/testing/ --- Tests, Feedback, Anregungen, ... aller Art sehr willkommen!
::: don't try so hard - it'll happen for a reason :::
  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 21:51 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