本文整理汇总了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;
}