Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function rotateAroundWorldAxis( object, axis, radians ) {
- var rotationMatrix = new THREE.Matrix4();
- rotationMatrix.makeRotationAxis( axis.normalize(), radians );
- rotationMatrix.multiply( object.matrix ); // pre-multiply
- object.matrix = rotationMatrix;
- object.rotation.setFromRotationMatrix(object.matrix);
- }
- function render() {
- var yAxis = new THREE.Vector3(0,1,0);
- rotateAroundWorldAxis(albero,yAxis,Math.PI / 180);
- requestAnimationFrame( render );
- renderer.render( scene, camera );
- }
- var rotObjectMatrix;
- function rotateAroundObjectAxis(object, axis, radians) {
- rotObjectMatrix = new THREE.Matrix4();
- rotObjectMatrix.makeRotationAxis(axis.normalize(), radians);
- object.matrix.multiply(rotObjectMatrix);
- object.rotation.setFromRotationMatrix(object.matrix);
- }
- function drawStuff() {
- var albero = new THREE.Object3D();
- var scene = new THREE.Scene();
- var camera = new THREE.PerspectiveCamera( 55, window.innerWidth / window.innerHeight, 0.1, 1000 );
- var renderer = new THREE.WebGLRenderer();
- renderer.setSize( window.innerWidth, window.innerHeight );
- document.body.appendChild( renderer.domElement );
- var cone = createCone(0, 0, 0); //create cone of the tree
- var cylinder = createCylinder(0, -1.1, 0); //create cylinder of the tree
- albero = createAlbero(-4, 2, 3);
- scene.add(albero);
- var axisHelper = new THREE.AxisHelper( 5 );
- scene.add( axisHelper );
- camera.position.z = 20;
- function createCone(x, y, z){
- var coneGeometry = new THREE.CylinderGeometry(0.0, 0.7, 2, 32, 32);
- var coneMaterial = new THREE.MeshBasicMaterial( {color: 0xFF0000} );
- var cone = new THREE.Mesh( coneGeometry, coneMaterial );
- cone.position.set(x, y, z);
- return cone;
- }
- function createCylinder(x, y, z){
- var cylGeometry = new THREE.CylinderGeometry(0.1, 0.1, 0.4, 32, 32);
- var cylinderMaterial = new THREE.MeshBasicMaterial( {color: 0xffff00} );
- var cylinder = new THREE.Mesh( cylGeometry, cylinderMaterial );
- cylinder.position.set(x, y, z);
- return cylinder;
- }
- function createAlbero(x ,y, z){
- albero.add(cone);
- albero.add(cylinder);
- albero.position.set(x ,y, z);
- return albero;
- }
- var rotObjectMatrix;
- function rotateAroundObjectAxis(object, axis, radians) {
- rotObjectMatrix = new THREE.Matrix4();
- rotObjectMatrix.makeRotationAxis(axis.normalize(), radians);
- //moltiplico la matrice dell'oggetto per la matrice di rotazione
- object.matrix.multiply(rotObjectMatrix);
- object.rotation.setFromRotationMatrix(object.matrix);
- }
- function rotateAroundWorldAxis( object, axis, radians ) {
- var rotationMatrix = new THREE.Matrix4();
- rotationMatrix.makeRotationAxis( axis.normalize(), radians );
- rotationMatrix.multiply( object.matrix ); // pre-multiply
- object.matrix = rotationMatrix;
- object.rotation.setFromRotationMatrix(object.matrix);
- }
- function render() {
- var yAxis = new THREE.Vector3(30,50,1);
- rotateAroundWorldAxis(cone2,yAxis,Math.PI / 180);
- requestAnimationFrame( render );
- renderer.render( scene, camera );
- }
- render();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement