js模拟3D场景效果代码打包_javascript技巧
程序员文章站
2022-04-03 14:15:00
...
要在二维空间模拟出三维的效果,就需要把三维的坐标转换成二维坐标。一个最基本依据是:东西越远,看到大小就越小,坐标越往消失点靠拢。
透视公式:
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需刷新才能执行]
推荐阅读
-
情人节专属 纯js脚本1k大小的3D玫瑰效果_javascript技巧
-
js 文本滚动效果的实例代码_javascript技巧
-
javascript模拟地球旋转效果代码实例_javascript技巧
-
js抽奖实现随机抽奖代码效果_javascript技巧
-
仿jQuery的siblings效果的js代码_javascript技巧
-
纯js实现背景图片切换效果代码_javascript技巧
-
JS仿淘宝实现的简单滑动门效果代码_javascript技巧
-
情人节专属 纯js脚本1k大小的3D玫瑰效果_javascript技巧
-
js确认删除对话框效果的示例代码_javascript技巧
-
JS打开层/关闭层/移动层动画效果的实例代码_javascript技巧