本文整理匯總了Java中javax.vecmath.Vector3d.lengthSquared方法的典型用法代碼示例。如果您正苦於以下問題:Java Vector3d.lengthSquared方法的具體用法?Java Vector3d.lengthSquared怎麽用?Java Vector3d.lengthSquared使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類javax.vecmath.Vector3d
的用法示例。
在下文中一共展示了Vector3d.lengthSquared方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: randomizeUnitVector
import javax.vecmath.Vector3d; //導入方法依賴的package包/類
private static void randomizeUnitVector(Vector3d v) {
Random ptr = new Random();
// obtain a random vector with 0.001 <= length^2 <= 1.0, normalize
// the vector to obtain a random vector of length 1.0.
double l;
do {
v.set(ptr.nextFloat() - 0.5, ptr.nextFloat() - 0.5, ptr.nextFloat() - 0.5);
l = v.lengthSquared();
} while ((l > 1.0) || (l < 1e-4));
v.normalize();
}
示例2: hasPoint
import javax.vecmath.Vector3d; //導入方法依賴的package包/類
public boolean hasPoint(Point3d p){
Vector3d u =GeometryUtils.vectorSubtract(this.p1.asPoint3d(), this.p0.asPoint3d());
Vector3d v =GeometryUtils.vectorSubtract(this.p2.asPoint3d(), this.p0.asPoint3d());
Vector3d n=new Vector3d();
n.cross(u, v);
Vector3d w=GeometryUtils.vectorSubtract(p, this.p0.asPoint3d());
double r=Math.abs(GeometryUtils.vectorCross(u,w).dot(n))/n.lengthSquared();
double b=Math.abs(GeometryUtils.vectorCross(w,v).dot(n))/n.lengthSquared();
double a=1-r-b;
if(a>=0&&a<=1&&b>=0&&b<=1&&r>=0&&r<=1){
return true;
}
return false;
}