Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何创建Sierpinski三角形(分形)?_Php_Algorithm_Fractals - Fatal编程技术网

Php 如何创建Sierpinski三角形(分形)?

Php 如何创建Sierpinski三角形(分形)?,php,algorithm,fractals,Php,Algorithm,Fractals,我需要用PHP编程一个Sierpinski三角形,它提供以下图像输出: 我真的不知道从哪里开始,所以欢迎任何形式的算法或想法。给定外三角形顶点的坐标,您可以很容易地找到大空三角形顶点的坐标(它们是边的中点) 因此,从外部三角形,可以构建三个大的非空三角形 Sierpinski三角形是通过递归多次重复此过程获得的。当达到所需的递归深度时,只需绘制三角形 在伪代码中: Sierpinski(P, Q, R, Depth): if Depth == Limit: Line(P

我需要用PHP编程一个Sierpinski三角形,它提供以下图像输出:


我真的不知道从哪里开始,所以欢迎任何形式的算法或想法。

给定外三角形顶点的坐标,您可以很容易地找到大空三角形顶点的坐标(它们是边的中点)

因此,从外部三角形,可以构建三个大的非空三角形

Sierpinski三角形是通过递归多次重复此过程获得的。当达到所需的递归深度时,只需绘制三角形

在伪代码中:

Sierpinski(P, Q, R, Depth):
    if Depth == Limit:
        Line(P, Q); Line(Q, R); Line(R, P)
    else:
        PQ= (P + Q) / 2; QR= (Q + R) / 2; RP= (R + P) / 2;
        Sierpinski(P, PQ, RP, Depth + 1);
        Sierpinski(Q, QR, PQ, Depth + 1);
        Sierpinski(R, RP, QR, Depth + 1);

开始学习
php
图像库。尝试canvas,这里有一个例子:谢谢兄弟,我将阅读emI建议先学习和理解Sierpinski算法,然后花时间使用php图形库。语言和图形库在未来可能会改变,但算法保持不变。我看不出这个问题有什么太宽泛的地方。