1
我工作在Java3D的东西,我知道TransformGroups是你会怎么通常适用比例...单位立方体
不过,我想创建定义长方体的基础上的方式缩放矢量。
所以我有一个单位立方1,1,1 - > -1,-1,-1,我想手动应用缩放变换。
private static void scaleCoordinates(IndexedQuadArray indexedQuadArray, Vector3d scaleVector) {
//Create scalar transform
Transform3D scalarTransform = new Transform3D();
scalarTransform.setScale(scaleVector);
// retrieve the vertex coordinates
GeometryInfo indexedQuadArrayGeometryInfo = new GeometryInfo(indexedQuadArray);
Point3f coordinatesToScaleArray [] = indexedQuadArrayGeometryInfo.getCoordinates();
// scale each 3d coordinate
for(Point3f coordinate: coordinatesToScaleArray){
scalarTransform.transform(coordinate);
}
// update the indexed quad array with scaled-coordinates.
indexedQuadArray.setCoordinates(0, coordinatesToScaleArray);
}
现在它适用于缩放比例为正整数时,但如果我缩放0.5或负数,顶点会变得混乱。
任何人都知道什么是错的?我应该能够缩小小于1我认为,也许有些事情与我不知道的Transform3D.transform(Point3f)有关。
非常感谢您的阅读!