WebGL Matrix4(4*4矩陣庫)


     Matrix4是由<<WebGL編程指南>>作者寫的提供WebGL的4*4矩陣操作的方法庫,簡化我們編寫的代碼。源代碼共享地址,點擊鏈接:Matrix4源代碼

    下面羅列了Matrix4庫的所有方法:

    1.setIdentity()

        將Matrix4實例初始化為單位陣

    2.setTranslate(x, y, z)

        將Matrix4實例設置為平移變換矩陣,在x軸上平移的距離為x,在y軸上平移的距離為y,在z軸上平移的距離為z

    3.setRotate(angle, x, y, z)

        將Matrix4實例設置為旋轉變換矩陣,旋轉角度為angle,旋轉軸為(x, y, z)。旋轉軸(x,y,z)無需歸一化

    4.setScale(x, y, z)

        將Matrix4實例設置為縮放變換矩陣,在三個軸上的縮放因子分別為x、y、z

    5.translate(x, y, z)

        將Matrix4實例生意一個平移變換矩陣(該平移矩陣在x軸上的平移距離為x,在y軸上的平移距離為y,在z軸上的平移距離為z),所得到的結果存儲在Matrix4中

    6.rotate(angle, x, y, z)

        將Matrix4實例乘以一個旋轉變換矩陣(該旋轉矩陣旋轉的角度為angle,旋轉軸為(x、y、z)。旋轉軸(x、y、z)無須歸一化),所得的記過還存儲在Matrix4中

    7.scale(x, y, z)

        將Matrix4實例乘以一個縮放變換矩陣(該縮放矩陣在三個軸上的縮放因子分別為x、y、z。),所得結果還存儲在Matrix4中

    8.set( m )

        將Matrix4實例設置為m,m必須也是一個Matrix4實例

    9.elements

        類型化數組(Float32Array)包含了Matrix4實例的矩陣元素

    說明:單位陣在矩陣乘法中的行為,就像數字1在乘法中的行為一樣。將一個矩陣生意單位陣,得到的結果和原矩陣完全相同。在單位陣中,對角線的元素為1.0,其余的元素為0.0。

  10. multiply(matrix)

        兩個矩陣相乘,返回的結果為一個新的matrix4對象,並且值為兩個矩陣相乘的結果。例如:

var modelViewMatrix = viewMatrix.multiply(modelMatrix);

   11.setOrtho(left, right, bottom, top, near, far)

        通過各參數計算正射投影矩陣,將其存儲在Matrix4中。注意,left不一定與right相等,bottom不一定與top相等,near與far不相等。參數:

        left、right:指定近裁剪面的左邊界和右邊界

        bottom、top:指定近裁剪面的上邊界和下邊界

        near、far:指定近裁剪面和遠裁剪面的位置,即可視空間的近邊界和遠邊界

    12.setPerspective(fov, aspect, near, far)

        通過各參數計算透視投影矩陣,將其存儲在Matrix4中。注意,near的值必須小於far。參數:

        fov:指定垂直視角,即可視空間頂面和底面鍵的夾角,必須大於0

        aspect:指定近裁剪面的高寬比(寬度/高度)

        near、far:指定近裁剪面和遠裁剪面的位置,即可視空間的近邊界和遠邊界(near和far必須都大於0)

        注意,第二個參數aspect是近裁剪面的寬高比,而不是水平視角(第一個參數是垂直視角)。比如說,如果近裁剪面的高度100和寬度200,那么寬高比為2。

    13.setInverseOf (m)

        使自身稱為矩陣m的逆矩陣。

    14.transpose()

        對自身進行轉置操作,並將自身設為轉置后的結果。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM