Demo Linear Motor 3D

by Cibeles Garcia

HTML

<script src="https://drive.google.com/uc?id=1sYR50GyychK0Ng0Ip3YkRabfDqVzqIQC&amp;export=download"></script>
<canvas width="80" height="80" id="canvas2d" style="width:100%;max-width:400px"></canvas>

JavaScript

var lm3d=new Simple_lineM3d(document.getElementById('canvas2d'));

var camera = {
	pos:{x:0, y:0, z:-40},
	ang:{x:0, y:0, z:0},
	distance:0,
	zoom:100
}
var obj = {
	pos:{x:0, y:0, z:0},
	ang:{x:0, y:0, z:0},
	scale:{x:10, y:10, z:10},
	vtx:[
		[-1,-1,-1], [1,-1,-1], [1,-1,1], [-1,-1,1],
		[-1,1,-1], [1,1,-1], [1,1,1], [-1,1,1]
	],
	lines:[
		[0,1, 1], [1,2, 1], [2,3, 1], [3,0, 1], // techo color 1
		[0,4, 2], [1,5, 2], [2,6, 2], [3,7, 2], // postes color 2
		[4,5, 3], [5,6, 3], [6,7, 3], [7,4, 3] // base color 3
	]
}

setInterval(function(){

	obj.ang.y += 0.1
	obj.ang.x += Math.sin(obj.ang.y)/20;

	lm3d.dibujar(
		obj.lines,
		lm3d.puntos(
			obj.vtx,
			obj.pos.x,obj.pos.y,obj.pos.z,
			obj.ang.x,obj.ang.y,obj.ang.z,
			obj.scale.x,obj.scale.y,obj.scale.z,
			camera.pos.x,camera.pos.y,camera.pos.z,
			camera.ang.x,camera.ang.y,camera.ang.z,
			camera.distance,
			camera.zoom
		)
	);
	
	lm3d.blit([0xaaaaaa,0x0000ff,0x00ff00,0xff0000]);
},100);