分形之謝爾賓斯基(Sierpinski)地毯


前面講了謝爾賓斯基三角形,和這一節的將把三角形變為正方形,即謝爾賓斯基地毯,它是由瓦茨瓦夫·謝爾賓斯基於1916年提出的一種分形,是自相似集的一種。

謝爾賓斯基地毯的構造與謝爾賓斯基三角形相似,區別僅在於謝爾賓斯基地毯是以正方形而非等邊三角形為基礎的。將一個實心正方形划分為的9個小正方形,去掉中間的小正方形,再對余下的小正方形重復這一操作便能得到謝爾賓斯基地毯。如下圖:

Menger 0.PNG Menger 1.PNG Menger 2.PNG Menger 3.PNG Menger 4.PNG Menger 5.PNG

核心代碼:

static void SierpinskiCarpet(const Vector3& v, Vector3* pVertices, Yreal d) { pVertices[0] = v + Vector3(-d, -d, 0.0f); pVertices[1] = v + Vector3(-d,  d, 0.0f); pVertices[2] = v + Vector3( d,  d, 0.0f); pVertices[3] = v + Vector3( d, -d, 0.0f); pVertices[4] = v + Vector3( d,  0, 0.0f); pVertices[5] = v + Vector3(-d,  0, 0.0f); pVertices[6] = v + Vector3( 0,  d, 0.0f); pVertices[7] = v + Vector3( 0, -d, 0.0f); }

軟件下載地址:http://files.cnblogs.com/WhyEngine/Fractal.7z


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM