我正在试图让如何绘制在HTML5对象时,但在信息的多个不同来源找到了不同的解释已经引起了一些混乱做矩阵变换的理解。我发现信息说,为了在html5中创建绘制对象的动画,如here所示,同时我也看到可以通过转换绘制的点将变换应用于页面上的单个对象,但我不确定它是如何实现的作品。功能HTML5矩阵变换

我发现,实现腿的动画(两行)代码示例,但它确实动画不施加转换到帆布,使用用于在某些其他文件中定义的变换矩阵的功能对象。该代码提供了自己的实现moveTo()和lineTo()(通常与画布对象一起使用),在该实现中,它转换传入的点,根据视口重新调整其位置,然后调用画布的移动版本以传递转化点。

所以这里有几点困惑: 1.当setTransform()只能在画布上使用时,在变换矩阵对象上实现新的变换函数的目的是什么? 2.方法如rotate()和translate()在矩阵对象上被调用而没有传入点,所以这些操作如何实际应用? 3.什么时候应该将转换应用于整个画布(如所提供的链接所做的那样),而不是绘制特定的对象,因为它们似乎都可以工作?

我一般只是寻找相关的一般概述,我相当困惑是如何工作的。从该示例中的代码是下面供参考:

var w, h, g;

function viewport(p) {

return [ w/2 * p[0] + w/2, h/2 - p[1] * w/2 ];

}

function moveTo(p) {

var q = m.transform(p); // APPLY 3D MATRIX TRANFORMATION

var xy = viewport(q); // APPLY VIEWPORT TRANSFORM

g.moveTo(xy[0], xy[1]);

}

function lineTo(p) {

var q = m.transform(p); // APPLY 3D MATRIX TRANFORMATION

var xy = viewport(q); // APPLY VIEWPORT TRANSFORM

g.lineTo(xy[0], xy[1]);

}

myCanvas1.animate = function(_g) {

g = _g;

w = g.canvas.width;

h = g.canvas.height;

g.fillStyle = 'rgb(200,140,255)';

g.beginPath();

g.moveTo(0, 0);

g.lineTo(w, 0);

g.lineTo(w, h);

g.lineTo(0, h);

g.lineTo(0, 0);

g.stroke();

g.fillStyle = 'rgb(128,0,0)';

g.strokeStyle = 'rgb(0,0,0)';

var legBend = .4;

var t = 3 * time;

for (var leg = 0 ; leg < 2 ; leg++) {

var angle = -Math.PI/2 * (1 + Math.sin(time));

console.log(angle);

var sign = (leg == 0) == (angle < -Math.PI/2) ? -1 : 1;

m.identity();

m.rotateY(-Math.PI/2 * (1 + Math.sin(time)));

g.beginPath();

m.translate(0, .5, .1 * sign);

moveTo([0,0,0]); // HIP

m.rotateZ(-.5 * legBend + sign * legBend * Math.cos(t));

m.translate(0, -.5, 0);

lineTo([0,0,0]); // HIP

m.rotateZ(2 * legBend + 2 * legBend * sign * Math.sin(t));

m.translate(0, -.5, 0);

lineTo([0,0,0]); // KNEE

m.translate(-.1, 0, 0);

lineTo([0,0,0]); // KNEE

g.strokeStyle = 'rgb(0,0,0)';

g.lineWidth = 30;

g.stroke();

g.strokeStyle = 'rgb(255,0,0)';

g.lineWidth = 20;

g.stroke();

}

}

+2

它让我在身体上感到痛苦,因为看不到'src = g.js'的引号。 –

html5 矩阵转换,功能HTML5矩阵变换相关推荐

  1. html5 文字转换烟花,HTML5交互式烟花(点击并保持)

    CSS 语言: CSSSCSS 确定 body { display: flex; margin: 0; height: 100vh; justify-content: center; align-it ...

  2. html5 mp4转换ogv格式,如何把OGV转换为MP4?用它,轻松转换视频文件!

    原标题:如何把OGV转换为MP4?用它,轻松转换视频文件! 在我们日常娱乐和日常工作中,如果将OGV视频文件转换为MP4视频文件要怎么操作? 可能有人会问你说的OGV视频文件是什么?我怎么没见过?其实 ...

  3. 【HTML5】------- JavaScript 实现网页版HTML5发送语音功能

    1.浏览器实现HTML5发送语音功能(转载处:https://www.xuanmo.xin/details/1784) 这是一次后台同事让做的一个功能,但是在手机端兼容不好,Safari清一色不支持, ...

  4. html视频文件转换成视频,Amazing Video to HTML5 Converter(视频到HTML5转换器) V1.7.0 官方版...

    Amazing Video to HTML5 Converter是一款专业出色的视频转HTML5格式工具,能够帮助用户轻松地将各种格式视频转换为HTML5,支持转换AVI,WMV,FLV,MOV,RM ...

  5. Adobe 发布 Flash 转换成 Html5 工具 代号Wallaby(沙袋鼠)

    Adobe 今日 发布了Flash 到 HTML5的一键转换工具,方便各开发人员对现有的flash资源复用. 提供给那些不支持Flash的设备,比如iOS.该工具代号为 Wallaby(沙袋鼠) 可以 ...

  6. adobe 发布 flash 转换成 html5 工具 代号wallaby(沙袋鼠)-as3-javaeye技术网站

    adobe 发布 flash 转换成 html5 工具 代号wallaby(沙袋鼠)-as3-javaeye技术网站 2011年03月01日 Adobe 今日 发布了Flash 到 HTML5的一键转 ...

  7. 把flash转换成html5

    话说苹果公司一直不喜欢flash,所有的ios设备上都不能运行flash程序,这让很多apple用户非常的郁闷,很多好玩的游戏都是flash的swf游戏,可惜用自己的iPhone.ipad都不能玩,下 ...

  8. 会声会影转换成html,ThunderSoft Video to HTML5 Converter 视频文件转换成HTML5

    下面我们对ThunderSoft Video to HTML5 Converter 视频文件转换成HTML5v3.1.0.0官方版文件阐述相关使用资料和ThunderSoft Video to HTM ...

  9. 入门讲解HTML5的画布功能(1)

    个人认为在HTML5中画布功能其实并不实用,当然趋势是在FLASH不没落的情况下.通过学习我发现画布功能能够实现的东西非常有情调,但是前端人员也要有一定的审美和构思才能做出有意思的东西,因为canva ...

最新文章

  1. 计算机科学与技术联合培养是什么意思,联合培养
  2. SAP Spartacus支持的语言和货币单位的数据源
  3. linux teaming状态命令,Linux 网卡Teaming
  4. 二级VB培训笔记11:培训答疑集
  5. 一个java程序_从另一个java程序运行java程序
  6. 并不对劲的bzoj5340:loj2552:uoj399:p4564: [Ctsc2018]假面
  7. 三国将星录java阵容_三国将星录,通关攻略
  8. 【读PPT】管中窥豹:用大数据洞察“用户画像”的秘密!
  9. Jave_erhui
  10. ubuntu linux多声卡设置默认声卡shell指令
  11. Excel快速拆分单元格内容
  12. 双非渣本,他是如何逆袭拿到3W高薪
  13. 电脑连接wifi找不到服务器,为什么电脑连不上wifi显示没有有效的ip配置
  14. [LiteratureReview]A survey of image semantics-based visual simultaneous localization and mapping....
  15. 2021年制冷与空调设备运行操作考试总结及制冷与空调设备运行操作实操考试视频
  16. CSP 201803-4 棋局评估
  17. CentOS7.2 Django + uwsgi + Nginx 部(cǎi )署(kēng)指(zhī)南(lǜ)
  18. cool kickass
  19. 太难了!谷歌无人车老大承认遥遥无期,全自动驾驶寒冬将至?
  20. ps教程-双重曝光效果实现

热门文章

  1. for循环连续创建对象
  2. 计算机基础远程教育答案,浙大远程教育2013年计算机作业答案-1-计算机基础知识题.docx...
  3. 201312-2-ISBN号码
  4. thinkphp中的__DIR__ __ROOT__ __APP__ __MODULE__ APP_PATH LIB_PATH MODULE_PATH 等是在哪里定义的?...
  5. 时序分析基本概念介绍<input/output delay>
  6. 计算机专业和制药工程,制药工程本科专业介绍
  7. mysql系统特性_MySQL · 引擎特性 · InnoDB 事务系统
  8. 用MDT 2012为企业部署windows 7(四)--创建Deploymentshare共享以及介绍一些选项的具体作用...
  9. springMVC异常处理器:自定义异常处理器捕获系统异常,控制异常页面跳转
  10. Oracle数据同步接口中,对于NUMBER、DATE类型数据,从resultSet中直接获取造成精度丢失的解决方案