// Задача: създайте равнина от кубове - те са // NxN, разположени са равномерно в квадрат и // не се допират помежду си var N = 10; // примерно да пробваме с 10x10 куба 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.9, 0.9, 0.9 ); var material = new THREE.MeshPhongMaterial(); function newCube(x, z) { var cube = new THREE.Mesh( geometry, material ); cube.position.set(x, 0, z); scene.add( cube ); } for (var x = (1 - N) / 2; x < N / 2; x++) { for (var z = (1 - N) / 2; z < N / 2; z++) { newCube(x, z); } } var light = new THREE.PointLight( ); light.position.set( 3, 2, 5 ); scene.add( light ); light = new THREE.PointLight( ); light.position.set( -3, 2, -5 ); scene.add( light ); function drawFrame() { scene.rotation.y += 0.005; renderer.render( scene, camera ); }