注:文章译自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入门]十,矩阵计算和外部库的更多相关文章

  1. [WebGL入门]十四,绘制多边形

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

  2. [WebGL入门]十九,遮挡剔除和深度測试

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

  3. [WebGL入门]十六,绘制多个模型

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

  4. [WebGL入门]十八,利用索引缓存来画图

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

  5. [WebGL入门]十二,模型数据和顶点属性

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

  6. [WebGL入门]十五,为多边形涂抹颜色(顶点颜色的指定)

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

  7. GNU编译器学习 --> 如何链接外部库【Linking with external libraries】

    库也就是我们常说的library,一个库是若干个已经编译过的目标文件(.obj)的集合,它可以被链接到程序里.那么我们最常见的使用就是,我们在编程时会调用一些函数,这些函数别人已经写好了,它就放在库里 ...

  8. WebGL入门教程(五)-webgl纹理

    前面文章: WebGL入门教程(一)-初识webgl WebGL入门教程(二)-webgl绘制三角形 WebGL入门教程(三)-webgl动画 WebGL入门教程(四)-webgl颜色 这里就需要用到 ...

  9. WebGL入门教程(四)-webgl颜色

    前面文章: WebGL入门教程(一)-初识webgl WebGL入门教程(二)-webgl绘制三角形 WebGL入门教程(三)-webgl动画 颜色效果图: 操作步骤: 1.创建HTML5 canva ...

随机推荐

  1. TCP与UDP在socket编程中的区别 (网络收集转载)

    http://blog.chinaunix.net/uid-26421509-id-3814684.html 一.TCP与UDP的区别 基于连接与无连接  对系统资源的要求(TCP较多,UDP少)  ...

  2. jquery 提交数据

    目录 jquery ajax的应用 1 表单提交 2 ajax的提交(ajax post get) 普通的表单提交 <%@ page language="java" impo ...

  3. Linux 安装Redis全过程日志

    wget http://download.redis.io/redis-stable.tar.gz tar xvzf redis-stable.tar.gz cd redis-stable make ...

  4. javascript 回调函数应用

    回调函数是什么在学习之前还真不知道js回调函数怎么使用及作用了,下面本文章把我在学习回调函数例子给各位同学介绍一下吧,有需了解的同学不防进入参考. 回调函数原理: 我现在出发,到了通知你”这是一个异步 ...

  5. JAVA中字符串比較equals()和equalsIgnoreCase()的差别

    .使用equals( )方法比較两个字符串是否相等.它具有例如以下的一般形式: boolean equals(Object str) 这里str是一个用来与调用字符串(String)对象做比較的字符串 ...

  6. git使用说明

    1,git clone git://github.com/schacon/simplegit.git git工作目录,暂存目录,本地代码仓库都有代码了. 2,git pull git://github ...

  7. org.apache.hadoop.ipc.Client: Retrying connect to server异常的解决

    检查发现是DataNode一直连接不到NameNode. 检查各个节点在etc/hosts中的配置是否有127.0.1.1 xxxxxx.如果有把其屏蔽或者删除,重启各节点即可. 原因:127.0.1 ...

  8. fzu 1909 An Equation(水题)

    题目链接:fzu 1909 An Equation 典型的签到题. #include <stdio.h> #include <string.h> bool judge(int ...

  9. okHttp封装使用

    package com.zhy.utils.http.okhttp; import android.graphics.Bitmap; import android.graphics.BitmapFac ...

  10. java大牛list

    1 Java的未来 Java能干什么.不能干什么,一开始就要搞清楚.这对于成为一个纯种的Java程序猿至关重要. 2 构建Java运行环境 Java运行在服务器,服务器都是Linux系统,对于真正程序 ...