码迷,mamicode.com
首页 > Web开发 > 详细

[WebGL入门]十,矩阵计算和外部库

时间:2014-09-29 14:29:30      阅读:413      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   io   os   使用   ar   java   

注:文章译自http://wgld.org/,原作者杉本雅広(doxas),文章中假设有我的额外说明,我会加上[lufy:],另外,鄙人webgl研究还不够深入,一些专业词语,假设翻译有误,欢迎大家指正。


重要的用法

矩阵的计算方法,也不是什么特别奇怪复杂的东西,假设数学好好学习的话,没有基础也能够进行主要的矩阵计算。可是,假设不知道矩阵的加法和乘法运算的话,要进行略微复杂一些的矩阵计算是非常难的。
DirectX也好,OpenGL也好,其实,假设你不能掌握矩阵的使用的话,编程会变得非常难的。可是,也不是说,必须把矩阵的每个角落都掌握。
重要的是,矩阵的用法,并非具体的计算方法。特别是在3D开发中,矩阵能够做什么,通过什么运算能得到什么样的结果,主要是掌握矩阵的用法,这一点非常重要。
假设在一定程度上理解了矩阵的用法,在实际开发中遇到了什么问题,就能够知道怎样去查找原因了。然后,就能够进一步提高了。所以,不用一下子所有理解,首先掌握矩阵的处理流程和用途就能够了。


熟练使用外部库

DirectX和OpenGL中,内置了很多矩阵相关的处理,即使不使用外部库也能够进行矩阵计算。
可是,WebGL中这些矩阵相关的计算是没有的,可能为了简化吧,当然,不是说没有办法了,而是,矩阵相关的一切计算,都须要自己来处理。
话虽如此,可是WebGL中的矩阵计算还是一个非常大的问题。数学好的人当然是没有问题了,可是对于其它人数学不太好的人就太困难了。
可是,不用怕,有非常多使用javascript写的矩阵计算的外部库,使用这些外部库的话,就算自己不会矩阵计算,也能够进行矩阵相关的处理,以下是当中的几个。

glMatrix

http://code.google.com/p/glmatrix/

mjs

http://code.google.com/p/webgl-mjs/

Sylvester

http://sylvester.jcoglan.com/

closure

http://code.google.com/p/closure-library/

TDL

http://code.google.com/p/threedlibrary/

使用矩阵计算的外部库的时候,仅仅须要掌握了这些库的用法,就能够进行矩阵计算了,可是要掌握这些库的用法可能也是件不easy的事吧。
在本站点,使用的是自己开发的minMatrix.js库,这个js文件中,仅仅包括了矩阵的基本计算,并非特别完好,所以大家能够全然免费使用,商用也能够,没有什么特别的限制要求。
以后,本站点中的代码和案例等,都是使用这个minMatrix.js库为前提的来讲解的。这个库的连接会在本篇文章的最以下给出,大家能够自由下载使用。
另外,这个minMatrix.js文件中关于矩阵的计算,參考了其它的网页和glMatrix的内容,非常感谢各个网页作者和glMatrix的作者Brandon Jones(Brandon Jones的博客 ->TojiCode


总结

从长远来看,真正进行非常复杂的处理时,矩阵的知识还是不能缺少的。可是,要提前把这些都理解是非常苦难的。所以,先熟练使用外部库,等能够熟练进行3D开发之后,再逐步了解这些知识是比較理想的。
使用外部库的时候,也可能存在平台问题,必须边理解外部库的特征边使用,并非说全然没有问题。本站点使用的库是管理人(lufy:这里说的管理人就是作者本人)自己的库,会尽可能减低使用的门槛。


下次開始,使用minMatrix.js来表示一个多边形。另外minMatrix.js的下载连接例如以下。

wgld.org开发的矩阵计算的库minMatrix.js

http://wgld.org/j/minMatrix.js


转载请注明:转自lufy_legend的博客http://blog.csdn.net/lufy_legend

[WebGL入门]十,矩阵计算和外部库

标签:style   blog   http   color   io   os   使用   ar   java   

原文地址:http://www.cnblogs.com/hrhguanli/p/3999880.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!