设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 数据 创业者 手机
当前位置: 首页 > 创业 > 模式 > 正文

JavaScript模拟3D场景、三维空间的几个效果

发布时间:2018-10-04 12:10 所属栏目:25 来源:站长网
导读:这几个demo上星期 平安 夜做的,感觉效果不错,就放在出来,分享给大家。 要在二维空间模拟出三维的效果,就需要把三维的坐标转换成二维坐标。一个最基本依据是:东西越远,看到大小就越小,坐标越往消失点靠拢。 透视公式: scale = fl / (fl + z); scale

这几个demo上星期平安夜做的,感觉效果不错,就放在出来,分享给大家。

要在二维空间模拟出三维的效果,就需要把三维的坐标转换成二维坐标。一个最基本依据是:东西越远,看到大小就越小,坐标越往消失点靠拢。

透视公式:

scale = fl / (fl + z);

scale是大小的比例值,0.0到1.0之间,fl是观察点到成像面的距离,通常这个值是固定,z就是物件的三维空间中的z轴。

在写这些代码之前,我喜欢用面向对象来描述我写的这些东西,比如我需要一个场景,场景是个空间,空间内是可以容纳各种物件的,物件是个对象,物件是是x,y,z三个维度的,场景可以插入任意多的物件,物件就会以它的坐标值,显示在场景的特定位置,由场景来负责物件的显示位置。

一些demo,请使用鼠标移动及滚轮来控制。

效果1:


提示:可修改后代码再运行!

(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读