// Задача: нарисувайте плажна топка, всяка // половина да е от 4 цветни парчета 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( 3, 3, 8 ); camera.lookAt( new THREE.Vector3() ); // за удобство var pi2 = Math.PI/2; // пи/2 - ще ви трябва най-вероятно function createSpherePart(phiStart, phiLength, thetaStart, thetaLength, color) { // Бяла сфера без осветяване - цветовете са еднако ярки // Тази сфера трябва да се разцепи на 8 цветни парчета var geometry = new THREE.SphereGeometry( 1.5, 16, 16, phiStart, phiLength, thetaStart, thetaLength ); var material = new THREE.MeshBasicMaterial({ color: color }); scene.add( new THREE.Mesh( geometry, material ) ); } createSpherePart(0 , pi2 * 4, 0 , pi2 / 4 , 0xffffff); createSpherePart(0 , pi2 , pi2 / 4 , 3 * pi2 / 4, 0xff0000); createSpherePart(pi2 , pi2 , pi2 / 4 , 3 * pi2 / 4, 0x00ff00); createSpherePart(pi2 * 2, pi2 , pi2 / 4 , 3 * pi2 / 4, 0x0000ff); createSpherePart(pi2 * 3, pi2 , pi2 / 4 , 3 * pi2 / 4, 0xffff00); createSpherePart(0 , pi2 * 4, 7 * pi2 / 4, pi2 / 4 , 0xffffff); createSpherePart(0 , pi2 , pi2 , 3 * pi2 / 4, 0x0000ff); createSpherePart(pi2 , pi2 , pi2 , 3 * pi2 / 4, 0xffff00); createSpherePart(pi2 * 2, pi2 , pi2 , 3 * pi2 / 4, 0xff0000); createSpherePart(pi2 * 3, pi2 , pi2 , 3 * pi2 / 4, 0x00ff00); // въртене на сцената function drawFrame() { scene.rotation.x += 0.005; scene.rotation.y += 0.005; renderer.render( scene, camera ); }