// Задача: създайте N на брой малки кубчета, // пръснати случайно във вътрешността на // въображаем куб var N = 1000; // 1000 кубчета var renderer = new THREE.WebGLRenderer(); renderer.setSize( window.innerWidth, window.innerHeight ); renderer.setAnimationLoop( drawFrame ); document.body.appendChild( renderer.domElement ); var scene = new THREE.Scene(); var aspect = window.innerWidth/window.innerHeight; var camera = new THREE.PerspectiveCamera( 30, aspect ); camera.position.set( 6, 7, 20 ); camera.lookAt( new THREE.Vector3() ); // цикъл за създаване на кубчетата var geometry = new THREE.BoxGeometry( 0.4, 0.4, 0.4 ); var material = new THREE.MeshPhongMaterial(); // засега едно кубче, колкото да има нещо const cubeSize = 5; function rndCoord(absMax) { return ((Math.random() < 0.5) ? -1 : 1) * Math.random() * absMax; } for (var i = 0; i < N; i++) { var cube = new THREE.Mesh( geometry, material ); cube.position.set ( rndCoord(cubeSize), rndCoord(cubeSize), rndCoord(cubeSize) ); scene.add( cube ); } var light = new THREE.PointLight( ); light.position.set( 7, 5, 10 ); scene.add( light ); light = new THREE.PointLight( ); light.position.set( -7, 5, -10 ); scene.add( light ); function drawFrame() { scene.rotation.y += 0.005; renderer.render( scene, camera ); }