js模拟3D场景效果代码打包
更新时间:2012年01月04日 17:36:28 作者:
这几个demo上星期平安夜做的,感觉效果不错,就放在出来,分享给大家
要在二维空间模拟出三维的效果,就需要把三维的坐标转换成二维坐标。一个最基本依据是:东西越远,看到大小就越小,坐标越往消失点靠拢。
透视公式:
scale = fl / (fl + z);
scale是大小的比例值,0.0到1.0之间,fl是观察点到成像面的距离,通常这个值是固定,z就是物件的三维空间中的z轴。
在写这些代码之前,我喜欢用面向对象来描述我写的这些东西,比如我需要一个场景,场景是个空间,空间内是可以容纳各种物件的,物件是个对象,物件是是x,y,z三个维度的,场景可以插入任意多的物件,物件就会以它的坐标值,显示在场景的特定位置,由场景来负责物件的显示位置。
一些demo,请使用鼠标移动及滚轮来控制。
效果1
[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]
效果2
[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]
效果3
[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]
效果4
[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]
透视公式:
scale = fl / (fl + z);
scale是大小的比例值,0.0到1.0之间,fl是观察点到成像面的距离,通常这个值是固定,z就是物件的三维空间中的z轴。
在写这些代码之前,我喜欢用面向对象来描述我写的这些东西,比如我需要一个场景,场景是个空间,空间内是可以容纳各种物件的,物件是个对象,物件是是x,y,z三个维度的,场景可以插入任意多的物件,物件就会以它的坐标值,显示在场景的特定位置,由场景来负责物件的显示位置。
一些demo,请使用鼠标移动及滚轮来控制。
效果1
[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]
效果2
[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]
效果3
[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]
效果4
[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]
相关文章
仅IE不支持setTimeout/setInterval函数的第三个以上参数
setTimeout/setInterval,这两个函数相信前端开发同学都很熟悉。它们在非IE(6-9)浏览器中还可以如下使用2011-05-05
使用CSS+JavaScript或纯js实现半透明遮罩效果的实例分享
这篇文章主要介绍了使用CSS+JavaScript或纯js实现半透明遮罩效果的实例分享,编写半透明遮罩层时要注意定位问题、不要满屏遮罩,需要的朋友可以参考下2016-05-05


最新评论