Einzelnen Beitrag anzeigen

Flare

Registriert seit: 26. Jan 2006
Ort: Leipzig
529 Beiträge
 
Delphi 7 Professional
 
#5

Re: OpenGL - Vektoren - Gleichungen

  Alt 14. Feb 2007, 17:22
Darüber habe ich mir auch mal nen Kopf gemacht, hier meine Lösung:
Delphi-Quellcode:
type
  T3DVector = record
    x: double;
    y: double;
    z: double;
  end;

function abs(vector: T3DVector): double; overload;
begin
  Result := sqrt(sqr(vector.x) + sqr(vector.y) + sqr(vector.z));
end;

function scalarprod(vector1: T3DVector; vector2: T3DVector): double;
begin
  Result := vector1.x * vector2.x + vector1.y * vector2.y + vector1.z * vector2.z;
end;

function arc(vector1: T3DVector; vector2: T3DVector): double;
var temp: double;
begin
  temp := scalarprod(vector1, vector2)/(abs(vector1)*abs(vector2));
  if IsZero(temp) then
    Result := RadToDeg(arccos(temp))
  else
    Result := 0;
end;
Das ist gerade das Beispiel für den Winkel zwischen 2 Vektoren, habe mir aber noch sehr viele mehr nützliche Funktionen selber zusammengeschrieben.

Hoffe du kannst was damit anfangen.


Flare
Willy Scheibel
  Mit Zitat antworten Zitat