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)有關。
非常感謝您的閱讀!