-1
我想了解这段代码如何工作。这里,矢量theta
正在被定义,然后被用来计算旋转矩阵。运算符|是什么?对boost :: la中的vec3做些什么?
我无法弄清楚theta|Z
语法是如何工作的。我的猜测是这样的,就像theta.z
- 但我无法确定助推源的哪一部分正在做这件事。这是标准的boost语法吗?
该升压源是在这里:http://ci.boost.org/svn-trac/browser/sandbox/la/boost/la
任何提示/这个线索,将不胜感激。
#include <boost/la/all.hpp>
using namespace boost::la;
typedef vec<double, 2> vec2;
typedef vec<double, 3> vec3;
typedef vec<double, 33> mat33;
// Actual code
vec3 *theta = ...
mat33 R = rotz_matrix<3>(-*theta|Z) * roty_matrix<3>(*theta|X) * rotx_matrix<3>(*theta|Y);
看起来它甚至没有提升。你能否至少放下你实际指的“la”库的_name_?这个问题似乎是“操作符'在<库名称>中为'vec3'做了什么?” – sehe 2015-04-05 13:14:53
更新了问题标题。 – 2015-05-14 10:29:52