分形之谢尔宾斯基(Sierpinski)三角形

摘要:
谢尔宾斯基三角形是一个分形,由波兰数学家谢尔宾斯基于1915年提出,是一个典型的自相似集合。一些材料也将其称为谢尔宾斯基墓码头。生成过程是:取一个实心三角形。沿三条边中点的直线将其分成四个小三角形。对其余三个小三角形重复1。
谢尔宾斯基三角形(英语:Sierpinski triangle)是一种分形,由波兰数学家谢尔宾斯基在1915年提出,它是一种典型的自相似集。也有的资料将其称之为谢尔宾斯基坟垛.
Sierpinski triangle evolution.svg

其生成过程为:

  1. 取一个实心的三角形。(多数使用等边三角形)
  2. 沿三边中点的连线,将它分成四个小三角形。
  3. 去掉中间的那一个小三角形。
  4. 对其余三个小三角形重复1。

核心代码:

static void SierpinskiTriangle(const Vector3& v1, const Vector3& v2, const Vector3& v3, Vector3* pVertices)
{
    Vector3 v12 = (v1 + v2)*0.5f;
    Vector3 v13 = (v1 + v3)*0.5f;
    Vector3 v23 = (v2 + v3)*0.5f;

    pVertices[0] = v1;
    pVertices[1] = v12;
    pVertices[2] = v13;

    pVertices[3] = v2;
    pVertices[4] = v23;
    pVertices[5] = v12;

    pVertices[6] = v3;
    pVertices[7] = v13;
    pVertices[8] = v23;
}

分形之谢尔宾斯基(Sierpinski)三角形第2张

分形之谢尔宾斯基(Sierpinski)三角形第3张

分形之谢尔宾斯基(Sierpinski)三角形第4张

分形之谢尔宾斯基(Sierpinski)三角形第5张

分形之谢尔宾斯基(Sierpinski)三角形第6张

分形之谢尔宾斯基(Sierpinski)三角形第7张

分形之谢尔宾斯基(Sierpinski)三角形第8张

分形之谢尔宾斯基(Sierpinski)三角形第9张

分形之谢尔宾斯基(Sierpinski)三角形第10张

分形之谢尔宾斯基(Sierpinski)三角形第11张

软件下载地址:http://files.cnblogs.com/WhyEngine/Fractal.7z

免责声明:内容来源于网络,仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇VC++ MFC Progress Control 进度条P2P简介下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

分形之谢尔宾斯基(Sierpinski)四面体

     前面讲了谢尔宾斯基三角形,这一节的将对二维三角形扩展到三维,变成四面体.即将一个正四面体不停地拆分,每个正四面体可以拆分成四个小号的正四面体.由二维转变到三维实现起来麻烦了许多。三维的谢尔宾斯基四面体看上去比谢尔宾斯基三角形更像坟冢。 核心代码: static void SierpinskiTetrahedron(const Vector3* p...