Dessin 3d en Toile avec HTML+JS

Est-il un cadre et de moteurs qui offrent la possibilité de dessiner des images en 3d sur la Toile?

J'ai l'intention de dessiner des primitives (différentes formes) situé dans un plan:

    var dist = 2;
var hexHalfW = 35;
var lengthX = 20;
var hexR = Math.sqrt(lengthX*lengthX+hexHalfW*hexHalfW);//40.31128874
var hexDiag = 2*hexR;
var hexHeight = hexDiag;
var hexWidth = 2*hexHalfW;
function DrawHex(ctx, x, y)
{               
var cx = x*(hexWidth + dist) - y*(hexWidth + dist)/2;
var cy = y*(hexR + lengthX + dist);
ctx.beginPath();
ctx.moveTo(cx, cy-hexR);
ctx.lineTo(cx+hexHalfW, cy-hexR+lengthX);
ctx.lineTo(cx+hexHalfW, cy+hexR-lengthX);
ctx.lineTo(cx, cy+hexR);
ctx.lineTo(cx-hexHalfW, cy+hexR-lengthX);
ctx.lineTo(cx-hexHalfW, cy-hexR+lengthX);
ctx.lineTo(cx, cy-hexR);
ctx.fill();
}
function draw()
{
var canvas = document.getElementById('tutorial');
if (canvas.getContext)
{
var ctx = canvas.getContext('2d');
//Pick Hexagon color, this one will be blue
ctx.fillStyle = "rgb(0, 0, 255)";   DrawHex(ctx, 1, 1);
ctx.fillStyle = "rgb(0, 0, 225)";   DrawHex(ctx, 3, 1);
ctx.fillStyle = "rgb(0, 0, 195)";   DrawHex(ctx, 4, 1);
ctx.fillStyle = "rgb(0, 0, 165)";   DrawHex(ctx, 6, 1);
ctx.fillStyle = "rgb(0, 255, 0)";   DrawHex(ctx, 3, 2);
ctx.fillStyle = "rgb(0, 225, 0)";   DrawHex(ctx, 4, 2);
ctx.fillStyle = "rgb(0, 195, 0)";   DrawHex(ctx, 5, 2);
}
}

Je voudrais attirer ces primitives dans "point de vue": plus proche des formes (dans le bas de l'écran) sera plus grande, des formes de "loin" (en haut de l'écran) doit être plus petit...

À cette fin les formes de coordonnées doit être recalculé.

Le deviner, j'ai pu trouver certaines des formules qui permet de recalculer les coordonnées et écrire une des fonctions... mais, probablement, il y a quelques moteurs déjà fait?

Veuillez en informer.

Toutes les pensées sont les bienvenus!

InformationsquelleAutor Budda | 2010-10-21