nope/modules/mod-Transformation-Tree/test/test-functions.ts

55 lines
1.4 KiB
TypeScript
Raw Normal View History

2020-08-30 07:45:44 +00:00
/**
* @author Martin Karkowski
* @email m.karkowski@zema.de
* @create date 2018-06-20 03:09:56
* @modify date 2018-06-24 05:58:55
* @desc [description]
*/
import * as geometry from '../src/geometric-functions';
import * as math from 'mathjs';
console.log(geometry.QuatToRPY(geometry.rotMatrixToQuat(geometry.quatToRotMatrix(geometry.RPYtoQuat({ roll: 1, pitch: 0, yaw: 0 })))));
const _quat = {
imgX: 0,
imgY: 0,
imgZ: 0,
real: 1
};
const _rpy = {
roll: math.pi*0.5,
pitch: 0,
yaw: 0
}
const _originTrans = {
x: 0,
y: 0,
z: 0
};
const _transTo = {
x: 1,
y: 2,
z: 3
};
console.log('TEST QUAT => MAT => QUAT', geometry.rotMatrixToQuat(geometry.quatToRotMatrix({imgX:0,imgY:-1,imgZ:0,real:Math.PI/2})));
const _origin = geometry.homogenousCoordinates(_originTrans, _quat);
const _target = geometry.homogenousCoordinates(_transTo, geometry.RPYtoQuat(_rpy));
const _transformation = geometry.createTransformation(_origin, _target);
console.log(
'From:\n', _origin.matrix.toArray(),
'To:\n', _target.matrix.toArray(),
'\nTransformation:\n', _transformation.matrix.toArray(),
'\nDestionation:\n', math.multiply(_transformation.matrix, _origin.matrix).toArray());
console.log(geometry.extractTranslation(_transformation));
console.log(geometry.extractQuaternion(_transformation));
console.log(geometry.transformPoint(_transformation, {x:1,y:1,z:1}));