Könnte man nicht folgendes machen: Zunächst skaliere ich Ellipse und die beiden Punkte vom Mittelpunkt der Ellipse aus so, daß diese zu einem Kreis wird. Das müßte wohl der Faktor rx/ry sein. Dann ziehe ich einen zweiten Kreis mit radius X (also der gesuchte Abstand) parallel um die skalierte Ellpse herum und suche die Schnittpunke mit der skalierten Linie. Dann kehre ich die Skalierung wieder um und nehme aber die gefundenen Schnittpunkte mit. Fertig. Gruß Mario ----- Original Message ----- From: "André Michelle" <am@xxxxxxxxxxxxxxxxxx> To: <ascoders@xxxxxxxxxxxxx> Sent: Wednesday, February 04, 2004 1:26 PM Subject: [ascoders] Punkt auf Linie finden mit ggb. Abstand zu einer Ellipse > hi, > > > es geht um Kollisionen mit Ellipsen(-segmenten). Die mathische > Aufgabenstellung konnte ich jetzt herausextrahieren: > > Gegeben: > Linie p0,p1 > Ellipse x,y,rx,ry > > Gesucht ist der Punkt auf einer Linie, der den Abstand X zu einer Ellipse > hat. > > Folgendes konnte ich bisher selber lösen: > Punkte auf Ellipse: > px = Math.cos( t ) * rx; > py = Math.sin( t ) * ry; > > Normalenvektor dazu: > var nx = Math.cos( t) * ry; > var ny = Math.sin( t) * rx; > var len = Math.sqrt( nx * nx + ny * ny ); > nx /= len; > ny /= len; > > Jetzt kommt die große Umstellung der Gleichung, wo ich erstmal passen muss. > Ich denke, jetzt muss ich den Normalen Vektor mit dem gewünschten Abstand > multiplizieren und mit der Linie gleichsetzen. > Dabei erhalte ich 0,1 oder 2 Lösungen für "t" als Winkel. > > > Kann das jemand schneller als ich erfassen und mir helfen ? > > http://andre-michelle.com/files/temp/ellipse_distance_line.swf > http://andre-michelle.com/files/temp/ellipse_distance_line.fla < strukturlos > :O) > > > -- > aM > > ------------------------------------------------------ > Archiv : //www.freelists.org/archives/ascoders/ > Optionen : //www.freelists.org/list/ascoders > ------------------------------------------------------ > ------------------------------------------------------ Archiv : //www.freelists.org/archives/ascoders/ Optionen : //www.freelists.org/list/ascoders ------------------------------------------------------