Hallo,
ich bin es mal wieder mit einer Frage zur Vektorrechnung:
Ich habe einen Vektor V1 mit (0|1) und V2 mit (x|y). Nun kann man den Winkel zwischen zwei Vektoren ja mit dem Skalarprodukt ausrechnen. Also...
Code:
cos(a) = (X*0+Y*1)/(1*|V2|);
...oder vereinfacht...
cos(a) = (Y/|V2|);
...nun noch umstellen...
a = arccos(Y/|V2|);
...und in Grad...
a = radtodeg(arccos(Y/|V2|));
Mein Problem ist, dass dies irgendwie nich funktioniert... Ich erhalte irgendwie immer 0, 90 oder 180 Grad...
Mein gesammter Delphi-Sourcecode...
Delphi-Quellcode:
l := sqrt(sqr(Force.X)+sqr(Force.Y));
nx := Force.X / l;
ny := Force.Y / l;
ScrollBar3.Position := round(radtodeg(arccos(ny/l)));
ScrollBar4.Position := round(l);
Danke für die Hilfe,
igel457