【发布时间】:2016-02-14 22:40:46
【问题描述】:
我正在使用Three JS,我可以使用GridHelper 将网格添加到场景中。是否有类似的功能可以产生极坐标?
这是生成二维笛卡尔平面几何的方式 (source):
var geometry = new THREE.Geometry();
var material = new THREE.LineBasicMaterial({ vertexColors: THREE.VertexColors });
this.color1 = new THREE.Color(0x444444);
this.color2 = new THREE.Color(0x888888);
for (var i = -size; i <= size; i += step) {
geometry.vertices.push(
new THREE.Vector3(-size, 0, i), new THREE.Vector3(size, 0, i),
new THREE.Vector3(i, 0, -size), new THREE.Vector3(i, 0, size)
);
var color = i === 0 ? this.color1 : this.color2;
geometry.colors.push(color, color, color, color);
}
THREE.LineSegments.call(this, geometry, material);
我尝试改写如下:
var segments = 64;
var material = new THREE.LineBasicMaterial({ color: 0x1976D2 });
//Somehow below didn't work...
//var material = new THREE.LineBasicMaterial({ vertexColors: THREE.VertexColors });
var geometry = new THREE.Geometry();
this.color1 = new THREE.Color(0x444444);
this.color2 = new THREE.Color(0x888888);
for (var i = -size; i <= size; i += step) {
var circle = new THREE.CircleGeometry(i, segments);
// Remove center vertex
circle.vertices.shift();
geometry.merge(circle);
var color = i === 0 ? this.color1 : this.color2;
geometry.colors.push(color, color, color, color);
}
THREE.LineSegments.call(this, geometry, material);
但不知何故,这些线是虚线......
【问题讨论】:
-
什么坐标系有问题:
2d或3d?如果3d--cylindrical或spherical坐标系? -
我认为是二维球形
标签: javascript three.js grid polar-coordinates