php3D动画,html5的canvas实现几何模型3D运动动画效果
html5的canvas实现几何模型3D运动动画效果
JS片段:
var {atan2,sqrt,sin,cos,PI,acos} = Math;
function project3D(x,y,z,vars){
x-=vars.camX,y-=vars.camY,z-=vars.camZ;
p=atan2(x,z),d=sqrt(z*z+x*x),x=sin(p-vars.yaw)*d,z=cos(p-vars.yaw)*d;
p=atan2(y,z),d=sqrt(y*y+z*z),y=sin(p-vars.pitch)*d,z=cos(p-vars.pitch)*d;
n=-9,b=1,l=9,d=1,e=0,f=0,g=x,h=z,k=(h-f)*(l-n)-(g-e)*(d-b),m=((g-e)*(b-f)-(h-f)*(n-e))/k;
return {x:vars.cx+(n+m*(l-n))*vars.scale,y:vars.cy+y/z*vars.scale,d:sqrt(x*x+y*y+z*z)};
}
function elevation(x,y,z){
return acos(z / sqrt(x*x+y*y+z*z));
}
function subdivide(shape,subdivisions){
var t=shape.segs.length;
for(var i=0;i
var x1=shape.segs[i].a.x;
var y1=shape.segs[i].a.y;
var z1=shape.segs[i].a.z;
var x2=(shape.segs[i].b.x-x1)/subdivisions;
var y2=(shape.segs[i].b.y-y1)/subdivisions;
var z2=(shape.segs[i].b.z-z1)/subdivisions;
shape.segs[i].b.x=x1+x2;
shape.segs[i].b.y=y1+y2;
shape.segs[i].b.z=z1+z2;
var x3=x2;
var y3=y2;
var z3=z2;
for(var k=0;k
shape.segs.push(new Seg(x1+x2,y1+y2,z1+z2,x1+x2+x3,y1+y2+y3,z1+z2+z3));
x2+=x3;
y2+=y3;
z2+=z3;
}
}
}
这是一款很具空间感的基于html5 canvas实现的几何模型3D运动动画效果,好看的3D模型动画特效。
申明:php中文网下载站匠心打造专业的IT资源下载站!一切资源免费,来源网络收集,请自行检测软件的完整性。交流QQ群:916808767
php3D动画,html5的canvas实现几何模型3D运动动画效果相关推荐
- HTML5+Canvas漂亮的3D烟花动画生日特效,节日特效,烟花
fireworks HTML5+Canvas漂亮的3D烟花动画生日特效,节日特效,烟花 https://github.com/louislivi/fireworks
- Canvas炫酷3D线条动画背景
下载地址 Canvas炫酷3D线条动画背景,可以变色的颜色渐变网页动态背景特效. dd:
- html信号动画,HTML5带音效的雷达检测信号动画
JavaScript 语言: JaveScriptBabelCoffeeScript 确定 var c, cx, width, height, axis, speed = 4, notes, smok ...
- html5+赛车动画,HTML5 SVG可交互拖拉的赛车动画
JavaScript 语言: JaveScriptBabelCoffeeScript 确定 var animData = { wrapper: document.querySelector('.bm_ ...
- html5点线动画,HTML5带音效的两点连线动画
JavaScript 语言: JaveScriptBabelCoffeeScript 确定 (function() { var App = function() { this.el_svg = doc ...
- HTML5 Canvas 高仿逼真 3D 布料图案效果
HTML5 规范引进了很多新特性,其中最令人期待的之一就是 Canvas 元素,HTML5 Canvas 提供了通过 JavaScript 绘制图形的方法,非常强大.下面给大家分享一个 HTML5 C ...
- 做7秒动画赢13W大奖?总奖池超80W、国内最火爆的3D渲染动画创作大赛开始报名!
有人本科在读就被大厂选中?有人初露锋芒便商单接到手软?还有人一战成名全网爆火?全因为参与了这个CG赛事获得了官方流量扶持,大V媒体精准曝光!还获得了高视野的行业交流和更多的业界合作机会! 总奖池超80 ...
- android canvans 画3d,如何用Canvas做一个3D球
先前在博客园看过Waxes同学在博客园做的3D球的Demo,地址在这 把他的Demo pull了下面,很多数学公式,即便在他的博客园里也有两个公式无法解释.因此,这里就写一篇自己思路的文章,教大家如何 ...
- php 3d animation,如何用HTML5的Canvas制作3D动画效果
HTML5的诞生给web前端界带来了不小轰动,像什么动画旋转.图片滑块.图片轮播等等这些3D特效,也引发了不少朋友想要学习HTML5的好奇心.最近我一直在做canvas动画效果,发现canvas这个东 ...
最新文章
- 什么是AWS Lambda?
- 数字信号处理基础----FM的调制与解调
- 使用 PowerShell 创建 Linux 虚拟机
- expect switch 多条件_JavaScript-流程控制语句:选择结构(if和switch)
- [css] 你是怎么设计css sprites(精灵图)的?有哪些技巧?
- php soap详解,关于PHP+SOAP详解
- 工训物流小车视觉开源代码,包含二维码、条形码、物块、标识靶识别
- 【软件体系结构】软件体系结构笔记
- leetcode 左程云笔记
- 甜在心馒头店通过泊松分布解决备货烦恼
- excel表格如何画斜线并写字
- (demo)springboot接口suger_整合_hbase+phoenix
- 感知机为什么不能表示“异或”?
- 辉芒微单片机的c语言仿真器,辉芒微单片机
- xshell免费版下载教程
- Breakpoint is not hit
- 哔哩哔哩查看视频av号
- android手动触发ke,手机重启问题快速分析定位指南
- Linux进阶_PAM认证机制
- 银行存钱利率最大化问题C语言
热门文章
- bt5重启网卡命令_BT5重启与关机命令 - duhaizhang的个人页面 - OSCHINA - 中文开源技术交流社区...
- 投标人员不得不了解的投标八大技巧
- 王者荣耀s16服务器维护,王者荣耀S16战令更新了什么?S16战令系统更新一览
- web前端:canvas画布,飞鸟动画,原生js
- 注册表怎么用计算机管理打开,注册表怎么打开?注册表是怎么用的?
- selenium 状态码521_selenium获取网页状态码与状态码解释
- 首届零一科技节震撼来袭 汇集100+黑科技企业、3万平沉浸空间
- 旅游景点微信小程序开发方案
- 可以搭赠鸿蒙系统的手表,4.3英寸屏幕有点小!超大屏智能手机盘点
- Oracle 身份证号正则,oracle正则表达式(详细)