用户:
十三月的季节查看:0 回复:0 评论:0 创建时间:2020-07-09T06:51:32
3D环绕太难?公式太长?
没关系,这有更简单的!
EP1 从2D到3D的基本概念
大家的显示屏实际都是2D的,所以一般坐标系只有xy两个值,我们要做的就是将xyz三个值转化为xy并返回。
EP2 伪3D制作
伪3D实际最好理解,因为伪3D的公式很好记。。。不管了,上公式
2d.x=3d.x/3d.z/50,2d.y=3d.y/3d.z/50
函数
def return3Dxy(x,y,z):
return x/z/10,y/z/10;
EP3 从伪3D到环绕3D
这时大家觉得可能已经没有伪3D什么事了,但不是,实际本教程围绕“以‘伪3D’为基础”,所以。。。
伪3D如何变为3D呢,相信有基础的同学一定知道两个值Xrow(X环绕),Yrow(Y环绕)
现在我们就想想怎么旋转吧
Y环绕最简单,只需要这个函数就可以
def returnYrow(x,y,z,row):
p=return3Dxy(x,y,z);
return p[0]*math.cos(row),p[1]*math.sin(row);
X环绕相对难理解一些(这里是传入returnYrow返回的结果和X旋转)
def returnXrow(agoX,agoY,row):
return agoX,agoY*cos(row);
打包一下:
def get3D(x,y,z,Xrow,Yrow):
p=returnYrow(x,y,z,Yrow);
p=returnXrow(p[0],p[1],Xrow);
return p[0],p[1];
本公式追求简洁,所以绘制是会有偏差,仅供新手入门,还有就是不支持摄像机移位请谅解(我都不用的公式拿出来亮干嘛?脑壳准是坏掉了)