Überprüfen ob Punkt in Kreis
Übersicht

![]() |
blitzmasterBetreff: Überprüfen ob Punkt in Kreis |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi!
Ich brauche eine Methode mit der ich überprüfen kann, ob sich ein Punkt in einem Kreis befindet! Danke schon jetzt, Blitzmaster |
||
f L i P |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
imagebuffer() ?
fLiP |
||
mir egal wer dein Vater ist- solange ich hier am angeln bin wird nicht über's wasser gelaufen! |
Apocalyptic |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Satz des Pythagoras | ||
Suum cuique
[ www.ffs-net.de.vu ] [ Raycaster ] |
![]() |
Devils Child |
![]() Antworten mit Zitat ![]() |
---|---|---|
der pythagoras doch nicht.
wenn der abstand vom mittelpunkt kleiner als der radius ist, ist der punkt drinn. abstand berechnet man so: abstand = sqr((x1+x1)^2+(y1+y2)^2)) |
||
*X-Ware Member*
Mission to Hell[Ego-Shooter] Hier Vollversion runterladen: http://patrick-sch.de/spiele/m...ersion.zip ich antworte auf jede PN |
![]() |
Mo |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich mein ja immer noch, dass du ein Kreis als Bild zeichnen sollst und dann die Kollision mit dem Punkt prüfen sollst...
... ach ja für brauchst du des denn? Kann mir mehr drunter vorstellen wenn ich weis für was es denn nützen soll.... dann kann man auch weiterdenken (und helfen) ![]() |
||
500 Euro Studiengebühren... ich glaub ich zieh in den Wald!!!
Eine Floßfahrt die ist lustig... *sing* ![]() |
![]() |
Spikespine |
![]() Antworten mit Zitat ![]() |
---|---|---|
@Devils Child: Den Satz des Phytagoras hast du aber auch angewendet!?
Stimmt ja auch. Prüfe, ob der Abstand zum mittelpunkt (pythagoras) kleiner gleich dem radius des Kreises ist. Spike |
||
Athlon 64 3700+ | 1024 MB RAM | GeForce 7900 GT | Blitz2D, Blitz3D, BlitzPlus, BlitzMax |
![]() |
Devils Child |
![]() Antworten mit Zitat ![]() |
---|---|---|
das war der phytagoras?
blubb, dann hab ich eben den phytagoras angewnedet *achselzuck* ![]() |
||
*X-Ware Member*
Mission to Hell[Ego-Shooter] Hier Vollversion runterladen: http://patrick-sch.de/spiele/m...ersion.zip ich antworte auf jede PN |
![]() |
Ctuchik |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hat sich aber ein kleiner Fehler eingeschlichen, es muss minus und nicht plus sein, und das Sqr kann man sich sapren wenn man stattdessen den radius zum quadrat nimmt, is glaub schneller!
If (((x1-x2)^2 + (y1-y2)^2) <= radius^2) Then PUNKT_IM_KREIS MfG Ctuchik |
||
Zu den Nebenwirkungen gehören trockener Mund, Übelkeit, Erbrechen, Harnstau, schmerzhafter rektaler Juckreiz, Halluzinationen, Demenz, Psychose, Koma, Tod und Mundgeruch!
Magie eignet sich nicht für alle! Fraget euren Arzt oder Apotheker! |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Gute Optimierung ![]() Ist nicht nur "glaub" schneller sondern ziemlich beträchtlich viel schneller da SQR ausser LOG die langsamste Matheoperation is die man so normalerweise hat => Vermeiden durch beibehalten der Quadrate ist immer eine sehr gute Idee ![]() |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
dachte ich auch mal.
Müsste man aber mal konkret einen Zeittest machen, denn die Idee kam mir vor ein paar Monaten und seitdem habe ich nicht wirklich spürbare Zeiteinsparungen dadurch gemacht. Soll heißen: es ist wohl egal. MfG D2006 |
||
![]() |
Alfadur |
![]() Antworten mit Zitat ![]() |
---|---|---|
egal ist es nicht, ist wirklich schneller, aber was ist wenn die werte so groß werden das sie umkippen, also über den wertebereich gehen? da könnte man mit der sqrt variante noch ne weile weiter rechnen ... | ||
A Cray is the only computer that runs an endless loop in less than four hours. |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wenn du so grosse werte hast wirds eh einbrechen, da solche Distanzen für den 3D Raum nicht vorgesehen sind ...
Int und Float gehen doch "relativ weit rauf" bis sie gewrappt werden und "unten" wieder rein kommen ... wenn du etwas hast, das 2 * 10^9 überschreitet, solltest du dir andere sorgen machen ![]() Wenn du nur wenige SQR hast merkst du nicht wirklich einen unterschied. Wenn du aber pro Frame für unzählige Objekte so einen Distanztest machst zb um die Kollisionsroutinen drastisch zu beschleunigen, dann macht es einen ziemlichen Unterschied. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
Devils Child |
![]() Antworten mit Zitat ![]() |
---|---|---|
darf ich raten...
...du willst am wettbewerb für "Pi-Berechnen" teilnehmen. da braucht man nähmlich das, was du gefragt hast! lass das, die monte-carlo methode pi zu berechnen, die ist sowas von lahm ![]() |
||
*X-Ware Member*
Mission to Hell[Ego-Shooter] Hier Vollversion runterladen: http://patrick-sch.de/spiele/m...ersion.zip ich antworte auf jede PN |
![]() |
Jack |
![]() Antworten mit Zitat ![]() |
---|---|---|
Machs so:
Code: [AUSKLAPPEN] Graphics 640,480
SetBuffer ImageBuffer(Kreis) Color Rand(255), Rand(255), Rand(255) Oval x,y,100,100 SetBuffer ImageBuffer(Punkt) Color Rand(255), Rand(255), Rand(255) Plot x2,y2 SetBuffer BackBuffer() Repeat Cls If x = x2 And y = y2 Then Text 20,20,"Kollision" EndIf Delay 150 Flip Until KeyHit(1) Dann musst du halt noch den Kreis zum Bewegen bringen. |
||
![]() |
Devils Child |
![]() Antworten mit Zitat ![]() |
---|---|---|
!!ICH!! hat Folgendes geschrieben: darf ich raten...
...du willst am wettbewerb für "Pi-Berechnen" teilnehmen. da braucht man nähmlich das, was du gefragt hast! lass das, die monte-carlo methode pi zu berechnen, die ist sowas von lahm ![]() er will doch pi berechnen...da lohnt es sdich nicht so lahme grafikfunktionen zu machen ![]() |
||
*X-Ware Member*
Mission to Hell[Ego-Shooter] Hier Vollversion runterladen: http://patrick-sch.de/spiele/m...ersion.zip ich antworte auf jede PN |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich hab noch eine Speedverbesserung, denn
BlitzBasic: [AUSKLAPPEN] If x + y < radius Then PUNKT_IM_KREIS! das grenzt schon 50% aus und sollte die Rechenzeit schon stark reduzieren ausserhalb gehts auch. ca 25% weniger BlitzBasic: [AUSKLAPPEN] Aussenlinie = Sqr(radius^2 *2) Damit können dann ca 75%schneller ausgewertet werden! |
||
[BB2D | BB3D | BB+]
|
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
~AUFSPALTUNG~ Gesäubert. Bleibt sachlich und beim Thema. Danke. BladeRunner |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
blitzmaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
*freu**freu* Danke für die Zahlreichen antworten!!!
[edit] ich will am PI Wettbewerb mitmachen, aber nicht mit der Monte Carlo Methode. Die ist zu langsam. Da ich sie aber für was anderes Brauche (Schule) bleibt mir nichts anderes übrig!] ![]() |
||
***************
Blitzmaster |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group