国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Three.js矩陣`Matrix4` 簡介

這篇具有很好參考價值的文章主要介紹了Three.js矩陣`Matrix4` 簡介。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

參考資料:threejs中文網(wǎng)

threejs qq交流群:814702116

Three.js矩陣Matrix4

前面兩節(jié)課,給大家介紹了模型矩陣的數(shù)學(xué)基礎(chǔ)理論,下面給大家介紹Three.js的一個矩陣相關(guān)類Matrix4(4x4矩陣),并用Matrix4創(chuàng)建平移矩陣、旋轉(zhuǎn)矩陣、縮放矩陣。

查看4x4矩陣Matrix4文檔,你可以看到很多相關(guān)矩陣相關(guān)的數(shù)學(xué)幾何計算方法。

創(chuàng)建4x4矩陣Matrix4對象

// 創(chuàng)建一個4x4矩陣對象
const mat4 = new THREE.Matrix4()

屬性.elements設(shè)置平移矩陣

applymatrix4,Three.js,Threejs

通過4x4矩陣Matrix4的屬性.elements設(shè)置矩陣的值,比如設(shè)置一個平移矩陣。

.elements屬性值是一個數(shù)組,數(shù)組的元素就是4x4矩陣的16個數(shù)字,數(shù)字在數(shù)組中按照矩陣列的順序,一列一節(jié)輸入數(shù)組中。

// 平移矩陣,沿著x軸平移50
// 1, 0, 0, x,
// 0, 1, 0, y,
// 0, 0, 1, z,
// 0, 0, 0, 1
const mat4 = new THREE.Matrix4()
mat4.elements=[1,0,0,0, 0,1,0,0, 0,0,1,0, 50, 0, 0, 1];

.elements屬性不設(shè)置,默認(rèn)是單位矩陣。

const mat4 = new THREE.Matrix4()
// 默認(rèn)值單位矩陣
// 1, 0, 0, 0,
// 0, 1, 0, 0,
// 0, 0, 1, 0,
// 0, 0, 0, 1
console.log('.elements默認(rèn)值', mat4.elements);

頂點坐標(biāo)進行矩陣變換Vector3.applyMatrix4()

.applyMatrix4()是三維向量Vector3的一個方法,如果Vector3表示一個頂點xyz坐標(biāo),Vector3執(zhí)行.applyMatrix4()方法意味著通過矩陣對頂點坐標(biāo)進行矩陣變換,比如平移、旋轉(zhuǎn)、縮放。

// 空間中p點坐標(biāo)
const p = new THREE.Vector3(50,0,0);
// 矩陣對p點坐標(biāo)進行平移變換
p.applyMatrix4(mat4);
console.log('查看平移后p點坐標(biāo)',p);

applymatrix4,Three.js,Threejs

//用小球可視化p點位置
mesh.position.copy(p);

快速生成平移、旋轉(zhuǎn)、縮放矩陣

使用threejs平移矩陣、旋轉(zhuǎn)矩陣、縮放矩陣,可以不用自己直接設(shè)置.elements的值。threejs提供了一些更為簡單的方法,輔助創(chuàng)建各種幾何變換矩陣。

你可以分別測試下面方法,作為練習(xí),去改變一個坐標(biāo)點,并用小球可視化變換后的坐標(biāo)位置。

  • 平移矩陣.makeTranslation(Tx,Ty,Tz)
  • 縮放矩陣.makeScale(Sx,Sy,Sz)
  • 繞x軸的旋轉(zhuǎn)矩陣.makeRotationX(angleX)
  • 繞y軸的旋轉(zhuǎn)矩陣.makeRotationY(angleY)
  • 繞z軸的旋轉(zhuǎn)矩陣.makeRotationZ(angleZ)
const mat4 = new THREE.Matrix4();
// 生成平移矩陣(沿著x軸平移50)
mat4.makeTranslation(50,0,0);
// 結(jié)果和.elements=[1,0,0,0,...... 50, 0, 0, 1]一樣
console.log('查看矩陣的值',mat4.elements);

平移矩陣案例

const mat4 = new THREE.Matrix4();
// 生成平移矩陣(沿著x軸平移50)
// mat4.makeTranslation(50,0,0);
console.log('查看矩陣的值',mat4.elements);

旋轉(zhuǎn)矩陣案例文章來源地址http://www.zghlxwxcb.cn/news/detail-857303.html

const mat4 = new THREE.Matrix4();
//生成繞z軸旋轉(zhuǎn)90度的矩陣
mat4.makeRotationZ(Math.PI/2);

到了這里,關(guān)于Three.js矩陣`Matrix4` 簡介的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Eigen 矩陣Matrix及其簡單操作

    在Eigen,所有的矩陣和向量都是Matrix模板類的對象,Vector只是一種特殊的矩陣(一行或者一列)。 Matrix有6個模板參數(shù),主要使用前三個參數(shù),剩下的有默認(rèn)值。 Scalar是表示元素的類型,RowsAtCompileTime為矩陣的行,ColsAtCompileTime為矩陣的列。 庫中提供了一些類型便于使用,比如

    2024年02月12日
    瀏覽(24)
  • leetcode 542. 01 Matrix(01矩陣)

    leetcode 542. 01 Matrix(01矩陣)

    矩陣中只有0,1值,返回每個cell到最近的0的距離。 思路: 0元素到它自己的距離是0, 只需考慮1到最近的0是多少距離。 BFS. 先把元素1處的距離更新為無窮大。 0的位置裝入queue。 從每個0出發(fā),走上下左右4個方向,遇到0不需要處理,遇到1,距離為當(dāng)前距離+1. 如果當(dāng)前距離

    2024年02月12日
    瀏覽(17)
  • 雙目立體匹配中的極線約束(Epipolar Constraint),基礎(chǔ)矩陣(Fundamental Matrix),本質(zhì)矩陣(Essential Matrix),對極幾何(2D-2D)

    雙目立體匹配中的極線約束(Epipolar Constraint),基礎(chǔ)矩陣(Fundamental Matrix),本質(zhì)矩陣(Essential Matrix),對極幾何(2D-2D)

    考慮一個SLAM中一個常見的問題:如果兩個相機在不同位置拍攝同一個物體,或者一個運動的相機在不同時刻拍攝同一物體,我們有理由相信兩張圖片中各點存在著某種幾何關(guān)系,這種關(guān)系可以用對極幾何來描述。對極幾何描述了兩幀圖像中各像素的射影關(guān)系(或者說是各匹配

    2024年02月05日
    瀏覽(30)
  • 分類模型之混淆矩陣(Confusion Matrix)

    分類模型之混淆矩陣(Confusion Matrix)

    混淆矩陣是ROC曲線繪制的基礎(chǔ),同時它也是衡量分類型模型準(zhǔn)確度中最基本,最直觀,計算最簡單的方法。 可以簡單理解為:將一個分類模型的預(yù)測結(jié)果與正確結(jié)果做對比,將預(yù)測正確的統(tǒng)計量和預(yù)測錯誤的統(tǒng)計量分別寫入一張矩陣圖中,得到的這張圖就是混淆矩陣了。 混

    2024年02月03日
    瀏覽(31)
  • 推薦算法之--矩陣分解(Matrix Factorization)

    推薦算法之--矩陣分解(Matrix Factorization)

    在眾多推薦算法或模型的發(fā)展演化脈絡(luò)中,基于 矩陣分解 的推薦算法,處在了一個關(guān)鍵的位置: 向前承接了 協(xié)同率波 的主要思想,一定程度上提高了處理稀疏數(shù)據(jù)的能力和模型泛化能力,緩解了頭部效應(yīng); 向后可以作為 Embedding 思想的一種簡單實現(xiàn),可以很方便、靈活地

    2023年04月13日
    瀏覽(28)
  • 導(dǎo)向矢量矩陣(steering vector matrix)

    在陣列信號處理中,導(dǎo)向矢量矩陣(steering vector matrix)是描述陣列接收信號和信號源之間關(guān)系的重要工具。它用于計算不同到達(dá)角度(Direction of Arrival,DOA)下的陣列響應(yīng)。 導(dǎo)向矢量矩陣是一個矩陣,其每一列代表一個特定的到達(dá)角度,而每一行代表陣列中的一個陣元。假設(shè)

    2024年02月16日
    瀏覽(24)
  • 線性代數(shù) --- 置換矩陣 (Permutation matrix)

    線性代數(shù) --- 置換矩陣 (Permutation matrix)

    ????????對一個矩陣進行行交換,需要通過置換矩陣(permutation matrix)來完成。 ? ? ? ? 在對一個Ax=b的方程組進行高斯消元的過程中,我們常常會遇到一種情況,也就是消元消不下去的情況。下面,我列出了兩個不同的3x3矩陣的消元過程: ? ? ? ? 上圖中的第一行,是一

    2024年02月06日
    瀏覽(23)
  • 矩陣分解(Matrix-Factorization)無門檻

    矩陣分解(Matrix-Factorization)無門檻

    本章主要介紹矩陣分解常用的三種方法,分別為: 1 ? textcircled{1} 1 ? 特征值分解 2 ? textcircled{2} 2 ? 奇異值分解 3 ? textcircled{3} 3 ? Funk-SVD 矩陣分解原理: textbf{large 矩陣分解原理:} 矩陣分解原理: ??矩陣分解算法將 m × n mtimes n m × n 維的矩陣 R R R 分解為 m ×

    2024年01月19日
    瀏覽(21)
  • Android Matrix (三)矩陣組合和應(yīng)用變換

    Android Matrix (三)矩陣組合和應(yīng)用變換

    在 Android 開發(fā)中, Matrix 類不僅提供了 mapPoints 方法來變換點坐標(biāo),還提供了多種其他用法,使其成為處理圖像和視圖變換的強大工具。以下是 Matrix 類的一些關(guān)鍵用法: 1. 變換方法 setTranslate(float dx, float dy) : 設(shè)置矩陣為平移矩陣。 setScale(float sx, float sy, float px, float py) : 設(shè)置

    2024年02月02日
    瀏覽(14)
  • 對角占優(yōu)矩陣(Diagonally-dominant Matrix)

    對角占優(yōu)矩陣(Diagonally-dominant Matrix)

    作用:它較多出現(xiàn)于經(jīng)濟價值模型和反網(wǎng)絡(luò)系統(tǒng)的系數(shù)矩陣及解某些確定微分方程的數(shù)值解法中(來自百度百科) For some matrices you can see quickly that they are invertible because every number a i i a_{ii} a i i ? on their main diagonal dominates the off-diagonal part of that row i i i 對角占優(yōu)矩陣是 可逆的

    2024年02月08日
    瀏覽(12)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包