8 Aralık 2016 Perşembe

qvm

mat Sınıfı
Giriş
Şu satırı dahil ederiz.
#include <boost/qvm/mat.hpp>
Constructor
Şöyle yaparız.
boost::qvm::mat<double, 4, 4> matrix;
rot_mat Sınıfı
Constructor
Şöyle yaparız
boost::qvm::rotx_mat<4>(3.14159f); // rotation on x axis by PI radians
vector Sınıfı
Giriş
Şu satırı dahil ederiz.
#include <boost/qvm/vec.hpp>
Constructor
3 tane nokta içeren nesne için şöyle yaparız
const auto axis = boost::qvm::vec<double, 3>{{ 0.0, 1.0, 0.0}};
quat Sınıfı
Tanımlama
Şöyle yaparız
boost::qvm::vec<double, 3> axis = ...;
auto rotationAngle = (3.14159/2.0);

const boost::qvm::quat<double> q = boost::qvm::rot_quat (axis, rotationAngle);
operator * metodu
Örnek ver

Free Style Metodlar
conjugate metodu
Şöyle yaparız.
boost::qvm::vec<double, 3> v = ...;
boost::qvm::quat<double> q = ...;

boost::qvm::vec<double, 3> v2 = q * (boost::qvm::conjugate(q) * v);
roty_mat metodu
Şu satırı dahil ederiz.
#include <boost/qvm/mat_operations.hpp>
Şöyle yaparız.
auto heading = 90.0;
boost::qvm::mat<double, 4, 4> rot = boost::qvm::roty_mat<4>(deg2rad(heading));
set_identity metodu
Şu satırı dahil ederiz.
#include <boost/qvm/mat_operations.hpp>
Şöyle yaparız.
boost::qvm::mat<double, 4, 4> matrix;
boost::qvm::set_identity(matrix);
translation_mat metodu
Şu satırı dahil ederiz.
#include <boost/qvm/mat_operations.hpp>
Şöyle yaparız.
auto speed = 10.0;;boost::qvm::vec<double, 3> v {{0.0, -speed, 0.0}};
boost::qvm::mat<double, 4, 4> translation = boost::qvm::translation_mat(v);
Şöyle yaparız.
vec<float,3> v={0,0,7};
mat<float,4,4> tr=translation_mat(v); // translation by 7 units on z axis


Hiç yorum yok:

Yorum Gönder