Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 15-05-2006, 23:38   #1 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 138
lineTo-Kreuzung Teil 2

Tja, "lineTo-Kreuzung" wurde ja geschlossen. Dazu äußere ich mich jetzt mal nicht.
Also nochmal (nicht ganz) von vorne: Ich möchte den Schnittpunkt zwischen zwei Linien berechnen.
Was mache ich hier falsch?
PHP-Code:
createEmptyMovieClip("q"1);
createEmptyMovieClip("w"2);
qx1 100;
qy1 100;
qx2 100;
qy2 100;
wx1 100;
wy1 = -100;
wx2 100;
wy2 200;
q.lineStyle(10);
q.lineTo(qx1qy1);
q._x qx2;
q._y qy2;
w.lineStyle(10);
w.lineTo(wx1wy1);
w._x wx2;
w._y wy2;
var 
= ((qx2 qx1) * (wy1 qy1) - (qy2 qy1) * (wx1 qx1))/((wx2 wx1) * (qy2 qy1) - (qx2 qx1) * (wy2 wy1));
var 
wx1 * (wx2 wx1);
var 
wy1 * (wy2 wy1);
//trace(x + "   " + y + "   " + s); // NaN   NaN   NaN -> Division durch Null... und jetzt? 
Danke im Voraus.
MfG
FireShark
FireShark ist offline   Mit Zitat antworten
Alt 15-05-2006, 23:51   #2 (permalink)
nerdig working
 
Benutzerbild von michael
 
Registriert seit: Jul 2001
Ort: Hamburg
Beiträge: 5.832
Strecken schneiden
michael ist offline   Mit Zitat antworten
Alt 16-05-2006, 09:46   #3 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.322
du hasst da eine merkwürdige mischung deiner koordinaten.
Code:
function fSchnittLineLine(p1, p2, p3, p4) {
	var ary = [];
	var x21 = p2._x-p1._x, y21 = p2._y-p1._y;
	var x13 = p1._x-p3._x, y13 = p1._y-p3._y;
	var x43 = p4._x-p3._x, y43 = p4._y-p3._y;
	var d = y43*x21-x43*y21;
	if (d) {
		var u2 = (x21*y13-y21*x13)/d;
		if (0<=u2 && u2<=1) {
			var u1 = (x43*y13-y43*x13)/d;
			(0<=u1 && u1<=1) ? ary.push({_x:p1._x+x21*u1, _y:p1._y+y21*u1}) : '';
		}
	}
	return ary;
}
//
createEmptyMovieClip("q", 1);
createEmptyMovieClip("w", 2);
qx1 = 100;
qy1 = 100;
qx2 = 100;
qy2 = 100;
wx1 = 100;
wy1 = -100;
wx2 = 100;
wy2 = 200;
q.lineStyle(1, 0);
q.lineTo(qx1, qy1);
q._x = qx2;
q._y = qy2;
w.lineStyle(1, 0);
w.lineTo(wx1, wy1);
w._x = wx2;
w._y = wy2;
//
schnittpunkt = fSchnittLineLine({_x:qx2, _y:qy2}, {_x:qx2+qx1, _y:qy2+qy1}, {_x:wx2, _y:wy2}, {_x:wx2+wx1, _y:wy2+wy1});
if (schnittpunkt.length>0) {
	trace("schnittpunkt bei: "+schnittpunkt[0]._x+"//"+schnittpunkt[0]._y);
} else {
	trace("kein schnittpunkt");
}
http://www.seibsprogrammladen.de/fra.../Schnittpunkte
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 16-05-2006, 19:48   #4 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 138
Oha, ja, das sollte erstmal genügen. Vielen Dank Euch beiden!
Ich werde mir das ganze dann mal zu Gemüte führen.

MfG
FireShark
FireShark ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 19:31 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele