绘制多边形的 shape 只能传入二维坐标,我现在是二维平面但是是三维坐标也想做类似绘制多边形的效果,有什么方法吗?关键是三维坐标点与点之间的 xyz 都是不一样的
绘制多边形的 shape 只能传入二维坐标,我现在是二维平面但是是三维坐标也想做类似绘制多边形的效果,有什么方法吗?关键是三维坐标点与点之间的 xyz 都是不一样的
|
youtubbbbbDec 4, 2022
1
明确一下,你是希望在三维空间里绘制二维多边形还是多面体?
|
|
2
类似二维多边形的
|
|
3
我在屏幕上点击得到一些点然后将这点依次连成线,然后想就这些点和线绘制多边形,大概就是在二维平面但实际上是三维坐标
|
|
sakae010Dec 9, 2022
4
二维坐标转三维就行了
function screenPositionToWorld(pos, element, camera) { const vector = new THREE.Vector3( (pos.x / element.clientWidth) * 2 - 1, -(pos.y / element.clientHeight) * 2 + 1, 0 ); camera.updateWorldMatrix(); vector.unproject(camera); return vector; } |
|
sakae010Dec 9, 2022
5
我这边用的 client 的宽和高,你那边可能要修改能你窗口的宽高
|