Autor Beitrag
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 10.01.17 18:24 
- Nachträglich durch die Entwickler-Ecke gelöscht -
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4700
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Di 10.01.17 19:27 
Es ändert sich nur das Vorzeichen. Und jetzt überleg nochmal wie wichtig beim Satz des Pythagoras das Vorzeichen der beteiligten Seiten sind um die Länge der dritten Seite zu berechnen.
YK18415 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 22



BeitragVerfasst: Mi 11.01.17 10:53 
Stimmt, dann sind die Vorzeichen egal.
Naja, ich möchte ja schauen, ob der Abstand zwischen Kreismittelpunkt und Rechtecksecke kleiner als der Radius ist...

Bei der oberen rechten Ecke habe ich folgendes:
ausblenden C#-Quelltext
1:
2:
3:
double xe1 = this.X - otherObject.X;
double ye1 = this.Y - otherObject.Y;
double ae1 = Math.Sqrt(Math.Pow(xe1, 2) + Math.Pow(ye1, 2));

otherObject ist mein Kreis.

Aber das ist doch nicht der gängige Weg?

Gruß

Moderiert von user profile iconTh69: C#-Tags hinzugefügt
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4700
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Mi 11.01.17 11:04 
Der gängige Weg für was?
YK18415 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 22



BeitragVerfasst: Mi 11.01.17 11:08 
Der gängige Weg für so eine Kollisionsabfrage.

Irgendetwas scheine ich falsch zu machen, da er mir eine Kollision anzeigt, obwohl mein Kreis noch nicht im Rechteckspunkt liegt...
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4700
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Mi 11.01.17 12:06 
Dort wo man Kollisionsabfragen üblicherweise macht hat man vermutlich nie echte Kreise sondern Polygone. Für den Test ob sich ein Punkt in einem Polygon befindet gibt es sicher schnelleres als Pythagoras.

Dein Code zur Abstandsberechnung sieht richtig aus. Ein Kreis und ein Rechteck könne sich aber schneiden ohne das eine Ecke im Kreis ist. Ob das dein Problem ist oder ein anderes kann ich nicht sagen dafür ist mir der Inhalt dieses Threads zu Wirr um tatsächlich zu helfen.
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 11.01.17 19:02 
- Nachträglich durch die Entwickler-Ecke gelöscht -