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

3會員
5內容數
留言0
查看全部
發表第一個留言支持創作者!
你可能也想看
網格交易實戰 - 進階合約網格前言 不囉唆先上圖,對合約風險不排斥且有交易經驗的話,善用合約網格可以更大的放大利潤。以這張一個半月前大哥在 22700 左右時開的十倍做多網格單,至今網格已經刷出 25% 的網格利潤,還有加上做多單的浮盈 112%,而且區間開在 20000~100000 間,拿個三年應該沒問題,屆時利潤應該頗可觀
Thumbnail
avatar
翻升訓練營長 │ 你的專屬區塊鏈加密貨幣教練
2023-04-19
網格交易實戰 - 從入門到精通網格交易機器人,有幾大好處: *24 小時自動盯盤,睡覺也會幫你賺錢 *嚴格按照設定條件執行,保證高效有紀律 *不需人為介入,上班休閒與理財賺錢兩不誤 這次就帶大家實地操作,一步一步學會網格單的使用
Thumbnail
avatar
翻升訓練營長 │ 你的專屬區塊鏈加密貨幣教練
2023-04-15
網格交易入門 - 自動低買高賣的印鈔機網格交易就是把本來的一買一賣切分成許多格子,所以得名網格,每當價格有一定波動就會自動完成一次買或賣,像是潮汐發電的原理,把本來投資最怕的價格劇烈波動變成收入的來源,只要價格還在預設的範圍內,就會不斷的創造收入。
Thumbnail
avatar
翻升訓練營長 │ 你的專屬區塊鏈加密貨幣教練
2023-03-30
[網格]-Conformal mesh與Non-conformal mesh這是一個利用structured grid 所切出來的conformal mesh 特色是,每一個網格與網格的交界處都很完整,一進一出,你丟我撿,臉貼臉。 這也是最一開始有限差分(finite difference)下的產物,原始但是快。
Thumbnail
avatar
熱流資訊站
2022-11-03
[網格]-Multi-level meshing in IcepakMulti-level meshing 在Icepak當中扮演的是捕捉幾何輪廓的功能,一般來說如果幾何形狀不複雜,就是些圓形和方形的原件,啟用後也沒有變化是有可能的。 因為幾何太簡單,並沒有用到Curvature function 或是 Proximity function.
Thumbnail
avatar
熱流資訊站
2022-10-21
[網格]-Icepak中的風扇網格特性Icepak中,提供了許多的物件方便使用,有PCB模組,有Block,有隔板...等等。其中風扇模組,算是一個比較特別的東西。他模組化的不只是設定,還包含了上下游的網格。
Thumbnail
avatar
熱流資訊站
2022-09-28
[網格]-網格規劃分類準則參照這篇 網格是CFD永遠的痛,痛到連老闆都略知一二。東西畫得出來解不出來87%是網格的鍋,畫的差解不了,畫的多解不動,動不動就憑經驗靠感覺,氣氣氣氣氣。(由於個人還是用Icepak居多,雖然概念上大同小異,但說明上就難以兼顧了。)
Thumbnail
avatar
熱流資訊站
2022-09-16
網格交易管理表 v3.1 更新說明我修改了網格交易管理表的【買賣速度】參數。這篇文章會說明原因以及修改此參數的操作方法。
Thumbnail
avatar
徒風
2022-05-03
『網格交易』的本質 ❓ 機器人自動幫你操作獲利的投資策略英文全稱 “Grid Trading Method”,簡單來說就是機器人幫你 7/24 全年無休地『低買高賣』。(為方便起見下方皆以等差模式的一般天地單舉例)策略很單純,給你欲投資的標的設定一個『價格區間』,例如:比特幣 30000 ~ 60000,然後設定要分割的『網格數』,例如:把比特幣 ...
Thumbnail
avatar
ZZW
2022-04-21
網格內的尺度 I 從圖像採樣談文字創作你看的出來這張圖片的上下紋路有何不同嗎?這是我把兩張同樣的圖片接在一起,你可以放大來看紋路都是一樣的,差別只在於其中一個步驟採用別的方式,但是在結果上卻產生肉眼可見的差異,這一篇會先解釋我在圖像運算上的理解,後半段則說明如何運用在寫作上。
Thumbnail
avatar
就是那個光
2022-02-19