本文整理汇总了C++中vector2::normalize方法的典型用法代码示例。如果您正苦于以下问题:C++ vector2::normalize方法的具体用法?C++ vector2::normalize怎么用?C++ vector2::normalize使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类vector2
的用法示例。
在下文中一共展示了vector2::normalize方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: solve
vector<double> solve(vector2 here, vector2 dir, vector<vector2>& center, vector<double>& radius) {
double n = center.size();
dir = dir.normalize();
vector<double> ret;
double cnt=0;
while (cnt < 100) {
double circle = -1;
double time = INF*0.5;
for (double i = 0; i < n; ++i) {
double cand = hitCircle(here, dir, center[i], radius[i] + 1);
if (cand < time) {
time = cand;
circle = i;
}
}
if (circle == -1) break;
cnt++;
ret.push_back(circle);
vector2 contact = here + dir * time;
dir = reflect(here, dir, center[circle], contact);
here = contact;
}
return ret;
}
示例2: project
vector2 project(const vector2& rhs) const {
vector2 r = rhs.normalize();
return r * r.dot(*this);
}