本文整理汇总了C++中Vec::getLength方法的典型用法代码示例。如果您正苦于以下问题:C++ Vec::getLength方法的具体用法?C++ Vec::getLength怎么用?C++ Vec::getLength使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Vec
的用法示例。
在下文中一共展示了Vec::getLength方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: length
void length()
{
using T = typename Vec::Scalar;
U size = Vec::SIZE;
Vec vec;
T res = 0;
for(U i = 0; i < size; i++)
{
T x = i * 666;
vec[i] = x;
res += x * x;
}
res = sqrt(res);
ANKI_TEST_EXPECT_EQ(vec.getLength(), res);
if(Vec::IS_INTEGER)
{
ANKI_TEST_EXPECT_EQ(vec.getNormalized(), vec / res);
}
else
{
auto a = vec / res;
auto b = vec.getNormalized();
for(U i = 0; i < size; i++)
{
ANKI_TEST_EXPECT_NEAR(a[i], b[i], 0.0001);
}
}
}
示例2: testNormalize
template<class Vec> void testNormalize()
{
Vec vec;
for (unsigned int i = 0; i < vec.getDimension(); i++)
vec[i] = numbers[i];
// getNormalized
auto temp = vec.getNormalized();
ASSERT(dbgl::isSimilar(temp.getLength(), 1.0f));
// normalize
vec.normalize();
ASSERT(dbgl::isSimilar(vec.getLength(), 1.0f));
}
示例3: testLength
template<class Vec> void testLength()
{
Vec vec;
for (unsigned int i = 0; i < vec.getDimension(); i++)
vec[i] = numbers[i];
// getSquaredLength()
auto sqLen = 0.0;
for (unsigned int i = 0; i < vec.getDimension(); i++)
sqLen += vec[i] * vec[i];
ASSERT(dbgl::isSimilar(vec.getSquaredLength(), (float )sqLen));
// getLength()
ASSERT(dbgl::isSimilar(vec.getLength(), (float )std::sqrt(sqLen)));
}