,"> 。">

最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

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

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(龐加萊圓盤)<下>的評論 (共 條)

分享到微博請遵守國家法律
江津市| 乌兰察布市| 栖霞市| 姜堰市| 白河县| 涞水县| 隆安县| 天气| 肇庆市| 雷山县| 荔波县| 禄劝| 紫阳县| 澳门| 巴楚县| 德钦县| 柞水县| 武鸣县| 陵川县| 虎林市| 宿松县| 红原县| 保亭| 松桃| 鄂伦春自治旗| 南宁市| 霍城县| 应城市| 夹江县| 凤山市| 榆林市| 石台县| 和林格尔县| 增城市| 香河县| 枣阳市| 西乌| 桐柏县| 横山县| 高台县| 普兰县|