Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在Three.js中创建鸡蛋网格?_Javascript_Three.js - Fatal编程技术网

Javascript 如何在Three.js中创建鸡蛋网格?

Javascript 如何在Three.js中创建鸡蛋网格?,javascript,three.js,Javascript,Three.js,我正在尝试在Three.js中创建一个鸡蛋网格。我已经用LatheGeometry编写了下面的代码,但是我缺少正确的等式。有人能帮忙吗 var r0 = 40 var r1 = r0/4; var inc = Math.PI/r0; points = []; points.push( new THREE.Vector2( 0.0001, -r0/2 ) ); for ( var i = 0; i <= r0; i ++ ) { var def = i<r0/2 ? 0 : r

我正在尝试在Three.js中创建一个鸡蛋网格。我已经用LatheGeometry编写了下面的代码,但是我缺少正确的等式。有人能帮忙吗

var r0 = 40
var r1 = r0/4;
var inc = Math.PI/r0;
points = [];
points.push( new THREE.Vector2( 0.0001, -r0/2 ) );
for ( var i = 0; i <= r0; i ++ ) {
    var def = i<r0/2 ? 0 : r1*Math.sin((i-r0/2)*inc);
    points.push( new THREE.Vector2( Math.sqrt(r0*i-i*i), i+def-r0/2 ) );
}
points.push( new THREE.Vector2( 0.0001, -r0/2 ) );
var geometry = new THREE.LatheGeometry( points, 30 );
var material = new THREE.MeshPhongMaterial( { color: 0xFFFF20 } );
Ovo = new THREE.Mesh( geometry, material );
Ovo.position.set(0, 20.1, 0);
scene.add( Ovo );
var r0=40
var r1=r0/4;
var inc=Math.PI/r0;
点数=[];
点推(新的三矢量2(0.0001,-r0/2));
对于(var i=0;i您可以创建一个“鸡蛋”几何体,如下所示:

// points - (x, y) pairs are rotated around the y-axis
var points = [];
for ( var deg = 0; deg <= 180; deg += 6 ) {

    var rad = Math.PI * deg / 180;
    var point = new THREE.Vector2( ( 0.72 + .08 * Math.cos( rad ) ) * Math.sin( rad ), - Math.cos( rad ) ); // the "egg equation"
    //console.log( point ); // x-coord should be greater than zero to avoid degenerate triangles; it is not in this formula.
    points.push( point );

}

geometry = new THREE.LatheBufferGeometry( points, 32 );
//点-(x,y)对绕y轴旋转
var点=[];
对于(var deg=0;deg