,"> 。">

国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網 會員登陸 & 注冊

Houdini學習筆記036_Poincaré Disc(龐加萊圓盤)<下>

2022-09-27 16:08 作者:獨孤嘌呤  | 我要投稿


不知道大家聽過算法藝術(Algorithm Art,也叫Generative Art)沒有,這是一種用計算機程序進行藝術創(chuàng)作的方式。由此可以得到很多神奇的圖案。Hyperbolic Tiling應該算是其中的一種,接上一篇的基礎圖案創(chuàng)建出來后,我用foreach節(jié)點(For-Loop with Feedback)進行循環(huán)拷貝。每次循環(huán)都是將現(xiàn)有的圖案進行莫比烏斯反轉,如果和已有的重復則去掉。

經過一番令人頭大的計算,總算是把全部VEX代碼寫完了,但還是有些bug和沒注意到的小問題在里面。就不打算展開細講了。foreach循環(huán)內也是只用了一個Attribute Wrangle節(jié)點,Run Over方式還是Detail (only once)。VEX代碼如下:

這里的示例是p = 7, q = 3的情況,初始得到的圖案是7條弧線。對于每條弧線由上面的三個點計算出其所在圓的圓心center和半徑radius。然后用mobius變換得到中心點的反演變換點,作為新的七邊形的中心。除了中心點之外的所有點也要進行莫比烏斯變換,得到對應的七邊形。

因為變換后的位置可能已經有七邊形存在了,所以要預判斷一下。我是把已有的中心點放在一個stack[ ]數(shù)組中,每次莫比烏斯變換后,與數(shù)組中已有點的位置作比較,如有重合(距離<臨界值,如0.01)說明這個位置已有圖形了,則不再重復變換。如果沒有,則生成新的中心點,并將其放到stack數(shù)組中。

對于foreach循環(huán)需要注意的是,Block BeginMethod用的是Fetch Feedback,即上一次的結果作為下一次循環(huán)的初始條件。Block EndGather Method用的是Feedback Each?Iteration,只顯示最終次循環(huán)的結果,而不要把之前循環(huán)的都merge到一起。

因為中心點都放在了stack組中,后面可以用delete節(jié)點選擇組刪除點,只保留圖形的邊。

這個代碼塊基本上湊合能用,毛病也不少,迭代次數(shù)多了之后計算會出問題。還有弧線過圓心時的情況沒有考慮進去,只是這個月沒有精力再深挖了,以后有時間再改進吧。

如果可能的話,我還是想把Dunham教授文獻中的方法拿Houdini試一下。那樣效率應該會高很多。說不定可以將圖像的RGB值先映射到某個初始圖案上,每次迭代變換后對應的點繼承顏色屬性,就可以得到一幅魔性十足的作品了。

但愿這個想法能早日實現(xiàn),祝大家國慶快樂~

Houdini學習筆記036_Poincaré Disc(龐加萊圓盤)<下>的評論 (共 條)

分享到微博請遵守國家法律
收藏| 新建县| 绍兴县| 白城市| 湄潭县| 合山市| 繁昌县| 兰州市| 叙永县| 奇台县| 沙湾县| 常熟市| 永定县| 武邑县| 商洛市| 繁昌县| 宁河县| 康定县| 睢宁县| 太保市| 庆安县| 芦山县| 外汇| 定远县| 南川市| 德兴市| 闸北区| 淮南市| 五河县| 兴和县| 彰化市| 荔浦县| 麻城市| 项城市| 滨海县| 贵阳市| 大兴区| 连江县| 张家界市| 台北市| 汽车|