本文整理汇总了C++中matrix_type::inverse方法的典型用法代码示例。如果您正苦于以下问题:C++ matrix_type::inverse方法的具体用法?C++ matrix_type::inverse怎么用?C++ matrix_type::inverse使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类matrix_type
的用法示例。
在下文中一共展示了matrix_type::inverse方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: limits
void limits(iterator_t begin,
iterator_t end,
point_t& obb_center,
matrix_type const& obb_orientation,
point_t& obb_low,
point_t& obb_high) const {
typename oriented_boundingbox<point_t>::matrix_type inv =
obb_orientation.inverse();
// preset limits to min/max for local coordinates and global coordinates (
// to determine center )
obb_low = point_t::maximum();
obb_high = point_t::minimum();
point_t g_low = point_t::maximum();
point_t g_high = point_t::minimum();
while (begin != end) {
// project point into normalized bounding box space
point_t p = inv * ((*begin) - obb_center);
for (unsigned i = 0; i != point_t::size; ++i) {
obb_low[i] = std::min(obb_low[i], p[i]);
obb_high[i] = std::max(obb_high[i], p[i]);
}
++begin;
}
point_t mean = (obb_low + obb_high) / value_type(2);
point_t dist = obb_high - obb_low;
point_t delta = obb_orientation * (mean);
obb_low = dist / value_type(-2);
obb_high = dist / value_type(2);
obb_center += delta;
}