Computergrafik

GLSLmath

Flächen | | Weltkoordinaten

Berechnungsbeispiel mit GLM bzw. GLSLmath:

Die sog. GLM ist eine C++ Bibliothek fĂźr 3D Vektoren, Matrizen-Multiplikation uvm.

Diese Bibliothek ist eine industrial-grade Implementierung, die in vielen 3D Projekten verwendet wird. Die Bibliothek ist recht umfangreich und sehr effizient, aber manchmal fßr Programmieranfänger umständlich zu benutzen, weshalb sie eher fßr C++ Profis geeignet ist.

GLSLmath ist eine einfacher zu benutzende Header-only C++ Variante von GLM. Wir verwenden GLSLmath daher fĂźr 3D Berechnungen wie z.B. die Folgende:

#include <glslmath.h>

int main()
{
   vec3 o(0,0,1);
   vec3 n(1,1,1);

   vec3 nn = n.normalize();

   vec3 p1(9,0,0);
   vec3 p2(1,0,0);

   double d1 = nn.dot(p1-o);
   double d2 = nn.dot(p2-o);

   std::cout << "distance of " << p1 << " to plane: " << d1 << std::endl;
   std::cout << "distance of " << p2 << " to plane: " << d2 << std::endl;

   return(0);
}

Übersetzen:

g++ main.cpp -o test

Ausgabe:

distance of (9, 0, 0) to plane: 4.618802
distance of (1, 0, 0) to plane: 0

Live Demo

Flächen | | Weltkoordinaten

Options: