![]() |
Kollision zweier Ellipsen?
Hallo,
ich möchte überprüfen, ob zwei Ellipsen miteinander kollidieren. Für Kugeln geht das ja ganz einfach:
Delphi-Quellcode:
Aber wie geht das für Ellipsen? Meine Überlegung ist die Ellipsen praktisch wieder zu Kugeln zurückzustrecken - da die Ellipsen aber mit verschiedenen Seitenverhältnisen sein können, haut das, was bei "Punkt in Ellipse" noch wunderbar klappt, nicht so richtig hin. Hat jemand eine Idee?
collide := sqr(m1.x-m2.x)+sqr(m1.y-m2.x) <= sqr(r1 + r2);
Danke, Igel457 |
Re: Kollision zweier Ellipsen?
Kevin Lindsey hat dazu auf seiner
![]() |
Re: Kollision zweier Ellipsen?
Erstmal vielen dank für den Link.
Das scheint aber durchaus ein wenig komplizierter zu sein - Ich denke, dass ich einfach mit einigen Punkten der Außenlinie überprüfe, ob eine Kollision stattfindet - das ist zwar nich so akkurat, aber für meine Spriteengine sollte es allemals reichen. Wenn jemand aber noch eine einfache (sprich nicht unbedingt mehr als 30 Zeilen) Lösung hat, die auch noch schnell funktioniert, bin ich für diese natürlich nach wie vor offen :-). Nochmal Danke für die Hilfe, igel457 |
Re: Kollision zweier Ellipsen?
Hallo Andreas,
du könntest noch den Weg über das WinAPI gehen. Zunächst mit ![]() ![]() ![]() Gruß Hawkeye |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:38 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz