Hallo rayo,
danke für deine Antwort, jedoch komme ich damit nicht so recht weiter.
Ich habe mal im Taschenbuch der Mathematik nachgeschaut und fand dort eine Formel die den Winkel zwischen einer Geraden und einer Ebene beschreibt.
Formel:
Winkel zwischen einer Geraden und einer Ebene
gegeben durch die Gleichungen
x-x1/l = y-y1/m = z-z1/n
Ax + By + Cz + D = 0
werden berechnet nach der Formel:
sin phi = Al + Bm + Cn / Wurzel aus((A² + B² + C²)(l² + m² + n²))
irgendwie weiss ich jedoch nicht wie ich die genau anwenden kann, also was wofür steht.
Wär vielleicht jemand so nett und würde mir das etwas näher erläutern?
Danke,
Chill-man
------------------------------------------------------------------------------------
###############################################
EDIT:
Ok, habs schon verstanden
ich muss erst den Normalenvektor der Ebene bilden und dann das Skalarprodukt zwischen Normalenvektor und Geradenvektor bilden.
Das ganze wird dann noch durch das Produkt der Länge der jeweiligen Vektoren geteilt
EDIT2:
Hab jetzt das erstmal im Code stehen.
Code: Alles auswählen
#stuetzvektor
	xOri = Car.getOrientation()[0]
	x1Ori = xOri[0]
	x2Ori = xOri[1]
	x3Ori = xOri[2]
	
	#erster richtungsvektor
	yOri = Car.getOrientation()[1]
	y1Ori = yOri[0]
	y2Ori = yOri[1]
	y3Ori = yOri[2]
	
	#zweiter richtungsvektor
	zOri = Car.getOrientation()[2]
	z1Ori = zOri[0]
	z2Ori = zOri[1]
	z3Ori = zOri[2]
	
	
	#Kreuzprodukt zur gewinnung des normalenvektors
	n1 = y2Ori * z3Ori - y3Ori * z2Ori
	n2 = y3Ori * z1Ori - y1Ori * z3Ori
	n3 = y1Ori * z2Ori - y2Ori * z1Ori
	n_vektor = [n1, n2, n3]
	
	#print n_vektor
	
	gerade = [1, 0, 0]
	
	zaehler = math.fabs(n1 * gerade[0] + n2 * gerade[1] + n3 * gerade[2])
	
	#print zaehler
	
	nenner = math.sqrt((n1 * n1 + n2 * n2 + n3 * n3) * (gerade[0] * gerade[0] + gerade[1] * gerade[1] + gerade[2] * gerade[2]))
	#print nenner
	
	winkel = math.asin(zaehler / nenner)
	print winkel
aber der spuckt mir immer werte von -1 bis +1 aus. Hab ich da irgendwas falsch gemacht?
EDIT3:
Typischer Taschenrechner fehler ists gewesen...
math.asin(z) gibt werte in radians zurück.
musste dann nur ein math.degrees(math.asin(z)) daraus machen und schon hats geklappt 
