我是threejs的新手,我需要画一个三角形连接的球体。我使用二十面体以如下方式构造球体
var material = new THREE.MeshPhongMaterial({
emissive : 0xffffff,
transparent: true,
opacity : 0.5,
wireframe : true
});
var icogeo = new THREE.IcosahedronGeometry(80,2);
var mesh = new THREE.Mesh(icogeo, material);
scean.add(mesh);
维基百科说,原点处的十二面体具有这个坐标(x,y,z)的顶点:
(±1, ±1, ±1)
(0, ±1/φ, ±φ)
(±1/φ, ±φ, 0)
(±φ, 0, ±1/φ)
where φ is golden ratio (φ = (1 + √5) / 2 ≈ 1.618 )
假设我将在vertexBuffer中使用这个顶点--这将是一个Point3D数组。我需要为indexBuffer(这是一个int数组)准备三角形索引。十二面体有12个面,每个面是五角面,我将用这种方法从三个三角形创建每个面:
first triangle: a,e,b
second tri
我正试图为我正在进行的Java Applet项目生成一个icosphere。我有一个二十面体的工作细分,但是一旦我试图把它投射到一个单位的球体上,它就会造成一个网格的尖峰状的混乱。我在网上寻找了一个正确投影的解决方案,它说我应该使用以下公式:归一化点= X/Y/Z值*半径/震级取点
我在单位球面上找到一个新点的代码如下:
private Point3D createMiddlePoint(Point3D p1, Point3D p2){
// not in cache, calculate it
Point3D middle = new Point3D(
(in
我正在尝试在XNA 4.0中生成球形地形,并使用二十面体来实现具有均匀分布顶点的球体。我是Xna的新手,在尝试创建一个类来定义球体的所有顶点时,我遇到了这个问题。
代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
namespace Icosahedron_Test
{
class Icosahedron
我有一个二十面体网格,我正在旋转,然后添加圆形几何图形,并将它们的位置设置为动画循环中每个帧的每个顶点。
geometry = new THREE.IcosahedronGeometry(isoRadius, 1);
var material = new THREE.MeshBasicMaterial({
color: wireframeColor,
wireframe: true
});
isoMesh = new THREE.Mesh(geometry, material);
scene.add(isoMesh);
当二十面体网格旋转时,设置每个圆几何图形的位置:
fun