私は2つの座標に基づいてthree.jsで矩形を作成しています。最初の座標は最初のユーザークリックのセル、2番目の座標はユーザーがカーソルをドラッグする場所です。三角形のスケーリングのためのコーナーに地形/メッシュを固定する
作成されている長方形は正しいサイズですが、最初のユーザークリックのコーナーから「拡大」したいのに対し、中央から「拡大」します。幾何学の起源を変更するためのいくつかの潜在的な解決策を試しましたが、まだ修正が見つかりませんでした。
The demo can be see here - 以下のコードを使用してください。
var startPoint = startPlace;
var endPoint = endPlace;
var zIntersect = new THREE.Vector3(startPoint.x, 0, endPoint.z);
var xIntersect = new THREE.Vector3(endPoint.x, 0, startPoint.z);
var differenceZ = Math.abs(startPlace.z - zIntersect.z);
var differenceX = Math.abs(startPlace.x - xIntersect.x);
floorGeometryNew.rotateX(-Math.PI/2);
var floorGeometryNew = new THREE.PlaneGeometry(differenceX, differenceZ);
floorGeometryNew.rotateX(-Math.PI/2);
var x = startPoint.x;
var y = startPoint.y;
var z = startPoint.z;
var voxel = new THREE.Mesh(floorGeometryNew, tempMaterial);
voxel.position.set(x, y, z);
私が探していたまさに、ありがとうございました! – user3329161