本文整理汇总了C++中Coordinate::Length方法的典型用法代码示例。如果您正苦于以下问题:C++ Coordinate::Length方法的具体用法?C++ Coordinate::Length怎么用?C++ Coordinate::Length使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Coordinate
的用法示例。
在下文中一共展示了Coordinate::Length方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main(){
scanf("%d", &N);
for(int i = 1;i <= N;++i)
sphere[i].fromInput();
laser.fromInput();
for(int i = 1, hitOn = -1;i <= 11;++i, hitOn = -1){
double t = 1e9;
for(int j = 1;j <= N;++j)
if(sphere[j].intersection(laser, t))
hitOn = j;
if(~hitOn){
ans[++ans[0]] = hitOn;
const Sphere&curSphere = sphere[hitOn];
newLazer.O = laser.O + laser.dir * t;
Coordinate Nomal = curSphere.O - newLazer.O;
t = 2. * (Nomal * laser.dir) / sqr(Nomal.Length());
newLazer.dir = laser.dir - Nomal * t;
laser = newLazer;
}else
break;
}
for(int i = 1;i <= min(ans[0], 10);++i)
printf(i == 1 ? "%d" : " %d", ans[i]);
if(ans[0] <= 10)
puts("");
else
puts(" etc.");
return 0;
}
示例2: calcCosine
double calcCosine(const Coordinate&a, const Coordinate&b){
return a * b / a.Length() / b.Length();
}