|
@@ -122,9 +122,9 @@
|
|
{ size: 3400000, scale: 1.0, label: "moon-sized (3,400 Km)", scale: 1 },
|
|
{ size: 3400000, scale: 1.0, label: "moon-sized (3,400 Km)", scale: 1 },
|
|
{ size: 12000000, scale: 1.0, label: "planet-sized (12,000 km)", scale: 1 },
|
|
{ size: 12000000, scale: 1.0, label: "planet-sized (12,000 km)", scale: 1 },
|
|
{ size: 1400000000, scale: 1.0, label: "sun-sized (1,400,000 km)", scale: 1 },
|
|
{ size: 1400000000, scale: 1.0, label: "sun-sized (1,400,000 km)", scale: 1 },
|
|
- { size: 7.47e12, scale: 1.0, label: "solar system-sized (50Au)", scale: 1 },
|
|
|
|
- { size: 9.4605284e15, scale: 1.0, label: "gargantuan (1 light year)", scale: 1 },
|
|
|
|
- { size: 3.08567758e16, scale: 1.0, label: "ludicrous (1 parsec)", scale: 1 },
|
|
|
|
|
|
+ { size: 7.47e12, scale: 1.0, label: "solar system-sized (50Au)", scale: 1 },
|
|
|
|
+ { size: 9.4605284e15, scale: 1.0, label: "gargantuan (1 light year)", scale: 1 },
|
|
|
|
+ { size: 3.08567758e16, scale: 1.0, label: "ludicrous (1 parsec)", scale: 1 },
|
|
{ size: 1e19, scale: 1.0, label: "mind boggling (1000 light years)", scale: 1 },
|
|
{ size: 1e19, scale: 1.0, label: "mind boggling (1000 light years)", scale: 1 },
|
|
{ size: 1.135e21, scale: 1.0, label: "galaxy-sized (120,000 light years)", scale: 1 },
|
|
{ size: 1.135e21, scale: 1.0, label: "galaxy-sized (120,000 light years)", scale: 1 },
|
|
{ size: 9.46e23, scale: 1.0, label: "... (100,000,000 light years)", scale: 1 }
|
|
{ size: 9.46e23, scale: 1.0, label: "... (100,000,000 light years)", scale: 1 }
|
|
@@ -183,6 +183,8 @@
|
|
var colorskip = ['black', 'antiquewhite', 'bisque', 'beige', 'blanchedalmond', 'darkblue', 'darkcyan'];
|
|
var colorskip = ['black', 'antiquewhite', 'bisque', 'beige', 'blanchedalmond', 'darkblue', 'darkcyan'];
|
|
var colorkeys = Object.keys( THREE.ColorKeywords );
|
|
var colorkeys = Object.keys( THREE.ColorKeywords );
|
|
|
|
|
|
|
|
+ var geometry = new THREE.SphereBufferGeometry(0.5, 24, 12);
|
|
|
|
+
|
|
for (var i = 0; i < labeldata.length; i++) {
|
|
for (var i = 0; i < labeldata.length; i++) {
|
|
var scale = labeldata[i].scale || 1;
|
|
var scale = labeldata[i].scale || 1;
|
|
var labelgeo = new THREE.TextGeometry( labeldata[i].label, {
|
|
var labelgeo = new THREE.TextGeometry( labeldata[i].label, {
|
|
@@ -204,24 +206,21 @@
|
|
|
|
|
|
var material = new THREE.MeshPhongMaterial( materialargs );
|
|
var material = new THREE.MeshPhongMaterial( materialargs );
|
|
|
|
|
|
|
|
+ var group = new THREE.Group();
|
|
|
|
+ group.position.z = -labeldata[i].size * scale;
|
|
|
|
+ scene.add(group);
|
|
|
|
+
|
|
var textmesh = new THREE.Mesh( labelgeo, material );
|
|
var textmesh = new THREE.Mesh( labelgeo, material );
|
|
textmesh.scale.set(scale, scale, scale);
|
|
textmesh.scale.set(scale, scale, scale);
|
|
textmesh.position.z = -labeldata[i].size * scale;
|
|
textmesh.position.z = -labeldata[i].size * scale;
|
|
textmesh.position.y = labeldata[i].size / 4 * scale;
|
|
textmesh.position.y = labeldata[i].size / 4 * scale;
|
|
- textmesh.updateMatrix();
|
|
|
|
|
|
+ group.add(textmesh);
|
|
|
|
|
|
- var dotmesh = new THREE.Mesh(new THREE.SphereGeometry(labeldata[i].size * scale / 2, 24, 12), material);
|
|
|
|
|
|
+ var dotmesh = new THREE.Mesh(geometry, material);
|
|
dotmesh.position.y = -labeldata[i].size / 4 * scale;
|
|
dotmesh.position.y = -labeldata[i].size / 4 * scale;
|
|
- dotmesh.updateMatrix();
|
|
|
|
-
|
|
|
|
- var merged = new THREE.Geometry();
|
|
|
|
- merged.merge( textmesh.geometry, textmesh.matrix );
|
|
|
|
- merged.merge( dotmesh.geometry, dotmesh.matrix );
|
|
|
|
-
|
|
|
|
- var mesh = new THREE.Mesh(merged, material);
|
|
|
|
- mesh.position.z = -labeldata[i].size * 1 * scale;
|
|
|
|
|
|
+ dotmesh.scale.multiplyScalar(labeldata[i].size * scale);
|
|
|
|
+ group.add(dotmesh);
|
|
|
|
|
|
- scene.add(mesh);
|
|
|
|
}
|
|
}
|
|
|
|
|
|
var renderer = new THREE.WebGLRenderer({ antialias: true, logarithmicDepthBuffer: logDepthBuf });
|
|
var renderer = new THREE.WebGLRenderer({ antialias: true, logarithmicDepthBuffer: logDepthBuf });
|