如何简单的第一人称3D相机在JavaScript?

j0pj023g  于 2023-05-05  发布在  Java
关注(0)|答案(1)|浏览(167)

有没有在画布上绘制3D矩形的功能。这个函数接受x,y,depth,width,height的值。当我们有x,y,深度,宽度,高度时,如何使函数在垂直和水平方向移动矩形?我有剧本,但没有工作。这里是:

function matrix(x,y,width,height,z,cont){
var x1=x,
y1=y,
z1=0;
x2=x+width+z,
y2=y+height+z,
z2=x+width+y+height+z;



   x11 = (Math.cos(Math.PI + cont) * x1) + (Math.cos(cont) * x1);
 
    y11 = (Math.cos(Math.PI + cont) * y1) + (Math.cos(cont) * y1);
 
    z11 = (Math.cos(Math.PI + cont) * z1) + (Math.cos(cont) * z1);
 
    x21  = (Math.cos(cont) * x2) + (Math.cos(Math.PI - cont) * x2);
 
    y21  = (Math.cos(cont) * y2) + (Math.cos(Math.PI - cont) * y2);
 
    z21  = (Math.cos(cont) * z2) + (Math.cos(Math.PI - cont) * z2);
    
    
    var 
width2=x21-x11-z,
height2=y21-y11-z;
z2=z21-z11;

    ctx.reset();            
draw_rectangle(Math.round(x11),Math.round(y11),Math.round(width2),Math.round(height2),Math.round(z2));
    
    
}
6yjfywim

6yjfywim1#

这一切都是为了改变这种模式:

x1=x*cos(cont)-y*sin(cont)
y1=x*sin(cont)+y*cos(cont)

相关问题