2016-06-06 5 views
0

Ich konstruiere einen Punkt mit einem zufälligen x, y, z (in einem bestimmten Minimum und Maximum für x, y, z). Wie kann ich den Punkt multiplizieren (z. B. 20 Punkte), aber die haben unterschiedliche Werte (zufällig) für x, y und z auch.Mehrere zufällige Punkte Three.js

//Math.random() * (max - min) + min 
var x = Math.random() * (80 - 1) + 1 
var y = Math.random() * (80 - 1) + 1 
var z = Math.random() * (80 - 1) + 1 


var dotGeometry = new THREE.Geometry(); 
dotGeometry.vertices.push(new THREE.Vector3(x, y, z)); 
var dotMaterial = new THREE.PointCloudMaterial({ size: 10, sizeAttenuation: false, color: 0xFF0000 }); 
var dot = new THREE.PointCloud(dotGeometry, dotMaterial); 
scene.add(dot); 

Ich habe etwas versucht, aber der Punkt multipliziert an der gleichen Position immer und immer wieder.

Antwort

0

Wenn Sie 20 zufällige Punkte erstellen möchten, müssen Sie nur das gleiche in eine für Schleife tun. Ich habe nicht Three.js Bibliothek verwendet, aber ich nehme an, dass es so etwas wie dieses hat sein:

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

for (var i = 0 ; i < NUM_POINTS){ 
    var x = Math.random() * (80 - 1) + 1 
    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.PointCloudMaterial({ size: 10, sizeAttenuation: false, color: 0xFF0000 }); 
    var dot = new THREE.PointCloud(dotGeometry, dotMaterial); 

    scene.add(dot); 
} 

Mehr Infos über for-Schleife here

Viel Glück!