蝶形細分的實現筆記

2021-04-23 15:03:35 字數 795 閱讀 8299

蝶形細分的實現筆記

jingwenlai 2008-12-24

最近,在看一些細分方面的教程,本來想實現loop的,後來發現cgal中已經自行實現了loop,catmull-clark,doo-sabin,sqrt3的細分方法。就對照著教程看cgal中是如何實現的,繼而發現其實現非常靈活,而且可擴充套件性很強,利用policy-based design將不同的mask實現,而後,根據細分方法是ptq,pqq等進行劃分(主要是根據其主要操作是將麵一分四還是一分三來劃分)。

後來想學著實現butterfly scheme,就再回去翻閱了細分部分的資料,通過閱讀與實現,算是對細分有了比以前更深的了解,但是對有些內容,比如細分矩陣以及利用細分矩陣分析收斂性等內容現在暫時還不理解。

現在主要實現了不包括邊界點的情況,主要是三類,一類是邊的兩個點都是規則點(價為6)的情況,一類是邊的乙個點是規則點,另乙個點是非規則點的情況,還有一類是邊的兩個點都是非規則點的情況。邊界情況的實現現在暫時還沒有實現。

在查詢資料的過程中,發現好多資料都殊途同歸,最後發現講解得最詳細地還是siggraph 2000 course notes的subdivision for modeling and animation。其中74-75主要是講蝶形細分的。主要使用的模板如下:

需要注意的是,在上圖的模板中,並沒有對中間點(暫記為q)的模板進行說明,在另乙個資料中,q的值是用1-(其它點的權重之和),也就是說,所有控制點的權重加起來為1.

對於邊的兩點的不同價的情況,其權重的選取主要是參考下表來做

下圖為tetra實現五次細分的效果

下圖為cube模型細分五次的效果

快速排序詳細分析(Java實現)

排序過程 1,找乙個基準數,找陣列內的任意乙個數都行,一般都是以陣列第乙個數為基準數 2,從陣列末位向前迴圈找比基準數小的,找到了先停下,也就是記錄當前的索引 從陣列開端向後迴圈找比基準數大的,找到了先停下,也就是記錄當前的索引 3,將第二步的兩個索引的位置的數值交換,這樣比基準數大的就到了基準數的...

產品經理的客戶細分

凡是產品,必有受眾,研究受眾群,對受眾群深耕,是產品經理需要聚焦的地方之一。自有網際網路開始,的運營方向一直是要麼大而全,要麼小而美。大而全的平台時代已經過去,小而美,專注於細分市場的專業才符合規律。如同唯品先於阿里巴巴上市一樣。小而美的理念 任何乙個產品都不能滿足所有使用者群所有個性化的需求。產品...

翻譯 細分網域名稱的優勢

譯者 demix 大多數美國的前十 都會使用網域名稱碎片的方式。youtube使用i1.ytimg.com,i2.ytimg.com,i3.ytimg.com和i4.ytimg.com。live search使用了ts1.images.live.com,ts2.images.live.com,ts3...