THREEjs BufferGeometry網格擴散

閱讀時間約 2 分鐘

網格擴散可以做什麼?

網格擴散可以想剪紙一樣,把紙上想要的部分剪下來。

許多3D的算法,如裁切、干涉深度偵測等都會用到。

網格擴散的本質是什麼?

本質是通過模型的一個點,找到周圍相鄰的點;其他點又能找到周圍相鄰的點,就像水波一樣擴散出去。

通常會框定一個封閉邊界來找出邊界內所有點;或者只擴散一點點來加大選定的範圍。

如何做到網格擴散?

  • 轉換positionAttribute結構,bufferGeometry的positionAttribute資訊無法直接得知任意一點周圍的點,我們需要事先手動轉換:
const buildPointMap = (geometry) => {
const index = geometry.getIndex();
const posAttr = geometry.getAttribute("position");

const tempPoint = new THREE.Vector3();
const points = {};
for (let i = 0; i < index.count; i++) { //按順序遍歷所有的三角形的所有點
const triIndex = Math.floor(i / 3); //獲得該點所在的三角形的索引
const posIndex = index.getX(i);//獲得該點的索引

const point = tempPoint.fromBufferAttribute(posAttr, posIndex);//獲得點坐標
const key = vec2PosKey(point);//把點坐標轉成字串,後續作為key來對應資訊

//每個坐標的key,對應用到這個坐標的點索引和三角形索引
if (points[key]) {
points[key].triIndices.push(triIndex);
points[key].posIndices.push(posIndex);
continue;
}

points[key] = { triIndices: [triIndex], posIndices: [posIndex] };
}

return points;
};
  • 視需求擬定擴散邊界
  • 擬定種子點

demo鏈接:

BufferGeometry網格擴散 - StackBlitz

參考資料:

javascript - ThreeJS: Find neighbor faces in PlaneBufferGeometry - Stack Overflow

4會員
6內容數
留言0
查看全部
發表第一個留言支持創作者!
s_SoNg的沙龍 的其他內容
在THREE r125版本開始,THREE.Geometry就被棄用。 自己的職位是IT前端,由於套件安全性的原因,需要對THREE套件進行升級,但自己所在公司的程式內還有大量的Geometry。 因為前輩們開發了一些複雜強大的算法,如果用Threejs官方建議的正規方法,自己必須要看懂並且改寫算法
在THREE r125版本開始,THREE.Geometry就被棄用。 自己的職位是IT前端,由於套件安全性的原因,需要對THREE套件進行升級,但自己所在公司的程式內還有大量的Geometry。 因為前輩們開發了一些複雜強大的算法,如果用Threejs官方建議的正規方法,自己必須要看懂並且改寫算法
你可能也想看
Thumbnail
八十-二十法則提到,在多數生活的現象中,約80%的效果是來自於20%的原因,除了經濟學、學習理論外,這個法則同樣也可以應用在生活中的幸福感上。 我們需要認知到擁有的越多不一定會越快樂,反而有可能會因為無法專注在少數事物上而產生空虛、迷茫的感覺。「極簡」精神最重要的一點在於放下對於「多」的執著,將有
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
前言 不囉唆先上圖,對合約風險不排斥且有交易經驗的話,善用合約網格可以更大的放大利潤。以這張一個半月前大哥在 22700 左右時開的十倍做多網格單,至今網格已經刷出 25% 的網格利潤,還有加上做多單的浮盈 112%,而且區間開在 20000~100000 間,拿個三年應該沒問題,屆時利潤應該頗可觀
Thumbnail
網格交易機器人,有幾大好處: *24 小時自動盯盤,睡覺也會幫你賺錢 *嚴格按照設定條件執行,保證高效有紀律 *不需人為介入,上班休閒與理財賺錢兩不誤 這次就帶大家實地操作,一步一步學會網格單的使用
Thumbnail
網格交易就是把本來的一買一賣切分成許多格子,所以得名網格,每當價格有一定波動就會自動完成一次買或賣,像是潮汐發電的原理,把本來投資最怕的價格劇烈波動變成收入的來源,只要價格還在預設的範圍內,就會不斷的創造收入。
Thumbnail
這是一個利用structured grid 所切出來的conformal mesh 特色是,每一個網格與網格的交界處都很完整,一進一出,你丟我撿,臉貼臉。 這也是最一開始有限差分(finite difference)下的產物,原始但是快。
Thumbnail
Multi-level meshing 在Icepak當中扮演的是捕捉幾何輪廓的功能,一般來說如果幾何形狀不複雜,就是些圓形和方形的原件,啟用後也沒有變化是有可能的。 因為幾何太簡單,並沒有用到Curvature function 或是 Proximity function.
Thumbnail
Icepak中,提供了許多的物件方便使用,有PCB模組,有Block,有隔板...等等。其中風扇模組,算是一個比較特別的東西。他模組化的不只是設定,還包含了上下游的網格。
Thumbnail
分類準則參照這篇 網格是CFD永遠的痛,痛到連老闆都略知一二。東西畫得出來解不出來87%是網格的鍋,畫的差解不了,畫的多解不動,動不動就憑經驗靠感覺,氣氣氣氣氣。(由於個人還是用Icepak居多,雖然概念上大同小異,但說明上就難以兼顧了。)
Thumbnail
我修改了網格交易管理表的【買賣速度】參數。這篇文章會說明原因以及修改此參數的操作方法。
Thumbnail
英文全稱 “Grid Trading Method”,簡單來說就是機器人幫你 7/24 全年無休地『低買高賣』。(為方便起見下方皆以等差模式的一般天地單舉例)策略很單純,給你欲投資的標的設定一個『價格區間』,例如:比特幣 30000 ~ 60000,然後設定要分割的『網格數』,例如:把比特幣 ...
Thumbnail
你看的出來這張圖片的上下紋路有何不同嗎?這是我把兩張同樣的圖片接在一起,你可以放大來看紋路都是一樣的,差別只在於其中一個步驟採用別的方式,但是在結果上卻產生肉眼可見的差異,這一篇會先解釋我在圖像運算上的理解,後半段則說明如何運用在寫作上。
Thumbnail
八十-二十法則提到,在多數生活的現象中,約80%的效果是來自於20%的原因,除了經濟學、學習理論外,這個法則同樣也可以應用在生活中的幸福感上。 我們需要認知到擁有的越多不一定會越快樂,反而有可能會因為無法專注在少數事物上而產生空虛、迷茫的感覺。「極簡」精神最重要的一點在於放下對於「多」的執著,將有
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
前言 不囉唆先上圖,對合約風險不排斥且有交易經驗的話,善用合約網格可以更大的放大利潤。以這張一個半月前大哥在 22700 左右時開的十倍做多網格單,至今網格已經刷出 25% 的網格利潤,還有加上做多單的浮盈 112%,而且區間開在 20000~100000 間,拿個三年應該沒問題,屆時利潤應該頗可觀
Thumbnail
網格交易機器人,有幾大好處: *24 小時自動盯盤,睡覺也會幫你賺錢 *嚴格按照設定條件執行,保證高效有紀律 *不需人為介入,上班休閒與理財賺錢兩不誤 這次就帶大家實地操作,一步一步學會網格單的使用
Thumbnail
網格交易就是把本來的一買一賣切分成許多格子,所以得名網格,每當價格有一定波動就會自動完成一次買或賣,像是潮汐發電的原理,把本來投資最怕的價格劇烈波動變成收入的來源,只要價格還在預設的範圍內,就會不斷的創造收入。
Thumbnail
這是一個利用structured grid 所切出來的conformal mesh 特色是,每一個網格與網格的交界處都很完整,一進一出,你丟我撿,臉貼臉。 這也是最一開始有限差分(finite difference)下的產物,原始但是快。
Thumbnail
Multi-level meshing 在Icepak當中扮演的是捕捉幾何輪廓的功能,一般來說如果幾何形狀不複雜,就是些圓形和方形的原件,啟用後也沒有變化是有可能的。 因為幾何太簡單,並沒有用到Curvature function 或是 Proximity function.
Thumbnail
Icepak中,提供了許多的物件方便使用,有PCB模組,有Block,有隔板...等等。其中風扇模組,算是一個比較特別的東西。他模組化的不只是設定,還包含了上下游的網格。
Thumbnail
分類準則參照這篇 網格是CFD永遠的痛,痛到連老闆都略知一二。東西畫得出來解不出來87%是網格的鍋,畫的差解不了,畫的多解不動,動不動就憑經驗靠感覺,氣氣氣氣氣。(由於個人還是用Icepak居多,雖然概念上大同小異,但說明上就難以兼顧了。)
Thumbnail
我修改了網格交易管理表的【買賣速度】參數。這篇文章會說明原因以及修改此參數的操作方法。
Thumbnail
英文全稱 “Grid Trading Method”,簡單來說就是機器人幫你 7/24 全年無休地『低買高賣』。(為方便起見下方皆以等差模式的一般天地單舉例)策略很單純,給你欲投資的標的設定一個『價格區間』,例如:比特幣 30000 ~ 60000,然後設定要分割的『網格數』,例如:把比特幣 ...
Thumbnail
你看的出來這張圖片的上下紋路有何不同嗎?這是我把兩張同樣的圖片接在一起,你可以放大來看紋路都是一樣的,差別只在於其中一個步驟採用別的方式,但是在結果上卻產生肉眼可見的差異,這一篇會先解釋我在圖像運算上的理解,後半段則說明如何運用在寫作上。