五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Houdini學習筆記038_Menger Sponge(門格海綿)

2022-10-10 19:06 作者:獨孤嘌呤  | 我要投稿

今天分享的VEX教程是一個簡單的分形結(jié)構(gòu)——門格海綿(Menger Sponge)的制作。

制作思路很簡單,但有一個地方困擾了我半天,希望知道的朋友能解釋一下。

給定一個初始點和邊長,當?shù)螖?shù)為0時,直接在初始點位置生成一個立方體,邊長即給定的邊長。每增加一次迭代,將原來的立方體分為3×3×3(=27)份,并去除體心和每個面的面心處的小立方體(共7個),剩下20個小立方體。小立方體的邊長為之前的1/3。

所以只需要得到每次迭代后的中心點坐標,以及立方體邊長,就可以拷貝出所有的小立方體。假設初始邊長為1,迭代n次后的立方體邊長則為:(1/3)^n。

box節(jié)點的Uniform Scale參數(shù)可設置如下:

這里的iterationsize都是自定義的參數(shù),分別為迭代次數(shù)和初始的立方體邊長。

接下來的關(guān)鍵是每次迭代的點坐標求取。對于每一個點,可以將其看作坐標原點,然后從(-1,-1,-1)到(1,1,1)的空間內(nèi)分布27個點坐標。除去(0,0,0)、(1,0,0)、(-1,0,0)、(0,0,1)、(0,0,-1)、(0,1,0)、(0,-1,0)這7個坐標,剩下的位置都生成新的點。

迭代使用的是For-Loop with Feedback節(jié)點,然后用point wrangle節(jié)點來創(chuàng)建點(對應函數(shù)為addpoint)。point wrangle節(jié)點中使用的是三層嵌套for循環(huán),得到27個點坐標,使用判斷條件 abs(x)+abs(y)+abs(z) > 1 即可篩選出需要保留的坐標。然后在原來的點坐標基礎上加上新的坐標值(需要乘以相應的邊長),就得到了新的點坐標。

原本我寫的代碼是:

pos = @P + pos*size;

可總是得不到正確的結(jié)果,后來將 @P 改成了 3*@P 才成功了,總感覺有些奇怪,感興趣的朋友可以幫忙分析下。

如果將上面的判斷條件改為 sum <= 1 則可以得到互補的結(jié)果,如下圖所示——

今天的分享就到這里,感謝大家的閱讀,下回見~

Houdini學習筆記038_Menger Sponge(門格海綿)的評論 (共 條)

分享到微博請遵守國家法律
石城县| 长春市| 左权县| 民丰县| 宝鸡市| 尚义县| 池州市| 宝山区| 漾濞| 新河县| 桐乡市| 石家庄市| 榆树市| 获嘉县| 胶州市| 玉门市| 嘉峪关市| 台中县| 新宾| 板桥市| 札达县| 巧家县| 越西县| 广东省| 桃江县| 东兰县| 开封市| 兴化市| 富蕴县| 林甸县| 哈巴河县| 赣州市| 兴业县| 沾化县| 洮南市| 盐边县| 兰溪市| 普宁市| 涟水县| 义马市| 成安县|