$(function(){ var canvas = $("#paper")[0], c = canvas.getContext("2d"), size = canvas.width, verts = [], sqrt2 = Math.sqrt(2), pi = Math.PI, pi23 = 2 * Math.PI / 3, step = Math.PI / 20, centerX = size / 2, centerY = size / 2, scalar = size * 0.15, rotX = 0, rotY = 0, perspective = 360, depth, currX, currY, radius = 160, x, y, z, TWO_PI = Math.PI * 2, angleA = 0, angleB = 0; function point3d(x, y, z){ var cosX = Math.cos(rotX), cosY = Math.cos(rotY), sinX = Math.sin(rotX), sinY = Math.sin(rotY); var posZ = z * cosX - x * sinX, posX = z * sinX + x * cosX, posY = y * cosY - posZ * sinY, posZ = y * sinY + posZ * cosY; depth = 1/(posZ/perspective+1); currX = posX * depth + centerX; currY = posY * depth + centerY; } for (var u= -pi; u