来自随机点的Three.js形状 [英] Three.js shape from random points

查看:140
本文介绍了来自随机点的Three.js形状的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有N个随机点(在这种情况下为20个),并具有X,Y和Z约束.

I have a N number of random points (in this case 20), with a X,Y and Z constrains.

如何创建(使用Three.js库)任何(最好是闭合的)形状(仅从N个随机点开始给出).

How can I create ANY (preferably closed) shape (using Three.js library) , given and starting only from N random points.

可能有很多变体,请与您分享.

There are probably many variants, please share yours.

var program = new Program(reset,step)
program.add('g',false)
function reset() {
  scene.clear()
  scene.add(new THREE.GridHelper(100,1))
}
function step() {

}


program.startup()



var numpoints = 20;
var dots = []; //If you want to use for other task

for (var i = 0 ; i < numpoints ; i++){
    var x = Math.random() * (80 - 1) + 1    //Math.random() * (max - min) + min
    var y = Math.random() * (80 - 1) + 1
    var z = Math.random() * (80 - 1) + 1

    var dotGeometry = new THREE.Geometry();
    dots.push(dotGeometry);
    dotGeometry.vertices.push(new THREE.Vector3( x, y, z));
    var dotMaterial = new THREE.PointsMaterial( { size: 3, sizeAttenuation: false, color: 0xFF0000 } );
    var dot = new THREE.Points( dotGeometry, dotMaterial );

    scene.add(dot);
}

三角剖分,Voronoi,我不在乎,只要告诉我您有任何想法,将对我有很多帮助!

Triangulation, Voronoi, I don't care, just show me ANY ideas you have, will help me learn a lot!

推荐答案

您可以使用以下模式创建多面体,该多面体是一组3D点的凸包:

You can create a polyhedron which is the convex hull of a set of 3D points by using a pattern like so:

var points = [
    new THREE.Vector3( 100, 0, 0 ),
    new THREE.Vector3( 0, 100, 0 ),
    ...
    new THREE.Vector3( 0, 0, 100 )
];

var geometry = new THREE.ConvexGeometry( points );

var material = new THREE.MeshPhongMaterial( {
    color: 0xff0000, 
    shading: THREE.FlatShading
} );

mesh = new THREE.Mesh( geometry, material );
scene.add( mesh );

您必须在项目中包含以下内容

You must include the following in your project

<script src="/examples/js/geometries/ConvexGeometry.js"></script>

three.js r.78

three.js r.78

这篇关于来自随机点的Three.js形状的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆