コード例 #1
0
ファイル: VectFuns.cpp プロジェクト: nasa/WellClear
double VectFuns::distAtTau(const Vect3& s, const Vect3& vo, const Vect3& vi, bool futureOnly) {
	double tau = VectFuns::tau(s,vo,vi);
	if (tau < 0 && futureOnly)
		return s.norm();                 // return distance now
	else {
		Vect3 v = vo.Sub(vi);
		Vect3 sAtTau = s.Add(v.Scal(tau));
		return sAtTau.norm();
	}
}
コード例 #2
0
ファイル: VectFuns.cpp プロジェクト: nasa/WellClear
// f should be between 0 and 1 to interpolate
Vect3 VectFuns::interpolate(const Vect3& v1, const Vect3& v2, double f) {
	Vect3 dv = v2.Sub(v1);
	return v1.Add(dv.Scal(f));
}