±±¾©Ê¯ÓÍ»¯¹¤Ñ§Ôº2026ÄêÑо¿ÉúÕÐÉú½ÓÊÕµ÷¼Á¹«¸æ
²é¿´: 1406  |  »Ø¸´: 5

Simewe

гæ (³õÈëÎÄ̳)

[ÇóÖú] Matlab»­·ÖÐÎÔõôÌá¸ßËÙ¶È£¿

matlab´úÂë
CODE:
function sierpinski(A, B, C, n)
if n == 0
    fill ([A(1), B(1), C(1)], [A(2), B(2), C(2)], [0.0 0.0 0.0]);
    hold on
else
   sierpinski(A, (A + B)/2, (A + C)/2, n-1)
   sierpinski(B, (B + A)/2, (B + C)/2, n-1)
   sierpinski(C, (C + A)/2, (C + B)/2, n-1)
end
%sierpinski([0 0], [1 0], [.5 .8], 8)

mathematica´úÂë
CODE:
sierpinski[{a_, b_, c_}] := With[{ab = (a + b)/2, bc = (b + c)/2, ca = (a + c)/2},
  {{a, ab, ca}, {ab, b, bc}, {ca, bc, c}}];
pts = {{0, 0}, {1, 0}, {.5, .8}};
d = Nest[Join @@ sierpinski /@ # &, {pts}, 8];
Graphics[{EdgeForm@Black, Polygon@d}]

ÔÚÒ»¸öÂÛ̳ÉÏ¿´µ½µÄ´úÂ룬ÊÇ»­Ð»¶û±ö˹»ùÈý½ÇÐεģ¬Í¬ÑùÊǵü´úÁË8´Î£¬matlabÓÃÁ˽ü10s£¬mathematicaÓÃ1s£¬
matlabËãµÄÂýÊDz»ÊÇÒòΪÓÃÁ˵ݹéµÄÔ­Òò°¡£¿¸Ä³ÉÑ­»·»òÕßÏòÁ¿»¯²Ù×÷»á¸ü¿ì°É
ÄÄλ´óÉñ°ïæ¿´¿´
»Ø¸´´ËÂ¥

» ²ÂÄãϲ»¶

» ±¾Ö÷ÌâÏà¹Ø¼ÛÖµÌùÍÆ¼ö£¬¶ÔÄúͬÑùÓаïÖú:

ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

libralibra

ÖÁ×ðľ³æ (ÖøÃûдÊÖ)

æôÆï½«¾ü

¡¾´ð°¸¡¿Ó¦Öú»ØÌû

¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï
¸Ðл²ÎÓ룬ӦÖúÖ¸Êý +1
Simewe: ½ð±Ò+10, ¡ï¡ï¡ïºÜÓаïÖú, nice 2013-09-12 16:44:10
µÝ¹é¿ÉÄܾÍÕâÑù,Äã°Ñhold on·ÅÔڵݹ麯ÊýÍâÃæµÄ»°,ʱ¼ä»á¼õÉÙÒ»°ë×óÓÒ.
Ô­´úÂëÐèÒª3.7sÔÚÎҵĻúÆ÷ÉÏÔËÐÐ,hold onÌá³öÀ´ºó1.8s×óÓÒ,Õâ¸öµÝ¹éµÄ·½·¨Í¦ºÃµÄÁË.Èý½ÇÐζ¼ÊÇÍêÕûµÄ,Èç¹ûÓÃchaos gameµÄ°ì·¨,»­³öÀ´Ö»ÊÇÔ¶¿´µÄÒ»¸ö½üËÆ,·Å´óÁ˶¼ÊÇһЩµã.ËÙ¶ÈÉÏÒ²µÃ1.1s×óÓÒ.
CODE:
function sierpinski(A, B, C, n)
if n == 0
    fill ([A(1), B(1), C(1)], [A(2), B(2), C(2)], [0.0 0.0 0.0]);
else
   sierpinski(A, (A + B)/2, (A + C)/2, n-1)
   sierpinski(B, (B + A)/2, (B + C)/2, n-1)
   sierpinski(C, (C + A)/2, (C + B)/2, n-1)
end

%figure;hold on;
%sierpinski([0 0], [1 0], [.5 .8], 8)

matlab/VB/python/c++/Javaд³ÌÐòÇë·¢QQÓʼþ:790404545@qq.com
2Â¥2013-09-11 17:18:13
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

Simewe

гæ (³õÈëÎÄ̳)

ÒýÓûØÌû:
2Â¥: Originally posted by libralibra at 2013-09-11 17:18:13
µÝ¹é¿ÉÄܾÍÕâÑù,Äã°Ñhold on·ÅÔڵݹ麯ÊýÍâÃæµÄ»°,ʱ¼ä»á¼õÉÙÒ»°ë×óÓÒ.
Ô­´úÂëÐèÒª3.7sÔÚÎҵĻúÆ÷ÉÏÔËÐÐ,hold onÌá³öÀ´ºó1.8s×óÓÒ,Õâ¸öµÝ¹éµÄ·½·¨Í¦ºÃµÄÁË.Èý½ÇÐζ¼ÊÇÍêÕûµÄ,Èç¹ûÓÃchaos gameµÄ°ì·¨,»­³öÀ´Ö»ÊÇÔ¶¿´ ...

ÕâÑùÊÇ¿ìÁ˵㣬µ«ÎÒÏëÖªµÀÔõô°ÑµÝ¹é¸Ä³ÉÑ­»·ÄØ£¿matlabÀïµÄµÝ¹é¾Ý˵±Èpython¸üÂý£¬
ÕýºÃÎÒÒ²ÓÐpython°æµÄ´úÂ루ʹÓÃÑ­»·£©
CODE:
from matplotlib import collections as coll, pyplot as plt
import numpy as np
from time import time
st=time()

def sierpinski(a,b,c):
    return [[a, (a + c)/2, (a + b)/2], [(a + b)/2, b, (b + c)/2], [(a + c)/2, (b + c)/2, c]]

pts=np.array([[[0.,0.], [1.,0.], [.5,.8]]])
for n in range(8):
    pts=[y for x in [sierpinski(*i) for i in pts] for y in x]

print np.shape(pts)
plt.gca().add_collection(coll.PolyCollection( pts ))
plt.axis('scaled')
print time()-st
plt.show()

3Â¥2013-09-11 18:47:10
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

libralibra

ÖÁ×ðľ³æ (ÖøÃûдÊÖ)

æôÆï½«¾ü

ÒýÓûØÌû:
3Â¥: Originally posted by Simewe at 2013-09-11 18:47:10
ÕâÑùÊÇ¿ìÁ˵㣬µ«ÎÒÏëÖªµÀÔõô°ÑµÝ¹é¸Ä³ÉÑ­»·ÄØ£¿matlabÀïµÄµÝ¹é¾Ý˵±Èpython¸üÂý£¬
ÕýºÃÎÒÒ²ÓÐpython°æµÄ´úÂ루ʹÓÃÑ­»·£©

from matplotlib import collections as coll, pyplot as plt
import numpy as np
...

matlabÒ²ÓÃÑ­»·µÄ»°,¿ìµÄ¿ÉÅÂ,0.12s×óÓÒ
CODE:
tic;
% ԭʼÈý½ÇÐζ¥µã,±£´æÔÚÒ»¸ön*3*2µÄÊý×é,µÚÈýά¹²2²ã,µÚÒ»²ãÊÇx,µÚ¶þ²ãÊÇy
pts(:,:,1) = [0,1,0.5];
pts(:,:,2) = [0,0,0.8];
% ²ãÊý
layer = 8;
% µ±Ç°²ãµÄÈý½ÇÐζ¥µã
cur_pts = pts;
while layer>0
    next_pts = []; % ÀûÓõ±Ç°²ã¶¥µã¼ÆËã³öÀ´ÏÂÒ»²ãµÄÈý½ÇÐζ¥µã
    for num=1:size(cur_pts,1)
        % ÀûÓÃÈý¶¥µã¼ÆËã·ÖÐÎÈý½ÇÐζ¥µã×ø±ê
        a = cur_pts(num,1,:);
        b = cur_pts(num,2,:);
        c = cur_pts(num,3,:);
        next_pts(end+1:end+3,:,:) = [a,(a+c)/2,(a+b)/2;
            (a+b)/2,b,(b+c)/2;
            (a+c)/2,(b+c)/2,c];
    end
    % µü´úµ±Ç°²ã¶¥µã
    cur_pts = next_pts;
    % ½«¶¥µã¼ÓÈë½á¹ûÊý×é
    pts(end+1:end+size(cur_pts,1),:,:) = cur_pts;
    % ²ãÊýµÝ¼õ
    layer = layer-1;
end
% ×÷ͼ
patch(pts(:,:,1)',pts(:,:,2)','w');
toc;

Ч¹ûͼ
Matlab»­·ÖÐÎÔõôÌá¸ßËÙ¶È£¿
matlab/VB/python/c++/Javaд³ÌÐòÇë·¢QQÓʼþ:790404545@qq.com
4Â¥2013-09-11 23:28:12
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

Simewe

гæ (³õÈëÎÄ̳)

ÒýÓûØÌû:
4Â¥: Originally posted by libralibra at 2013-09-11 23:28:12
matlabÒ²ÓÃÑ­»·µÄ»°,¿ìµÄ¿ÉÅÂ,0.12s×óÓÒ
tic;
% ԭʼÈý½ÇÐζ¥µã,±£´æÔÚÒ»¸ön*3*2µÄÊý×é,µÚÈýά¹²2²ã,µÚÒ»²ãÊÇx,µÚ¶þ²ãÊÇy
pts(:,:,1) = ;
pts(:,:,2) = ;
% ²ãÊý
layer = 8;
% µ±Ç°²ãµÄÈý½ÇÐζ¥µã
cur_pts ...

ÆäʵµÝ¹éÒ²ÄÜÔÙ¼Ó¿ìµÄ£¬ÎÒÓÖÕÒµ½ÁËÒ»ÖÖ·½·¨
CODE:
function r = sierpinski(a, b, c, n)
    if n == 0
        r = [a; b; c];
    else
        r=[sierpinski(a, (a+b)/2, (a+c)/2, n-1);
           sierpinski((b+a)/2, b, (b+c)/2, n-1);
           sierpinski((c+a)/2, (c+b)/2, c, n-1)];
    end
end

%{
tic;
n=8;
V = sierpinski([0,0],[1,0],[0.5,0.8],n);
F = reshape(1:length(V),3,[])';
patch('Vertices',V,'Faces', F);
toc;
%}

5Â¥2013-09-12 16:50:26
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

BJRR

гæ (ÕýʽдÊÖ)

ºÜºÃŶ¡£¡£¡£¡£¡£
6Â¥2015-09-08 10:10:16
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
Ïà¹Ø°æ¿éÌø×ª ÎÒÒª¶©ÔÄÂ¥Ö÷ Simewe µÄÖ÷Ìâ¸üÐÂ
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] 0703×Ü·Ö331Çóµ÷¼Á +10 ZY-05 2026-04-04 14/700 2026-04-06 11:51 by xhai2011
[¿¼ÑÐ] 329Çóµ÷¼Á +17 miaodesi 2026-04-02 20/1000 2026-04-05 18:33 by À¶ÔÆË¼Óê
[¿¼ÑÐ] 298·Ö 070300Çóµ÷¼Á +15 zwen03 2026-04-02 15/750 2026-04-05 12:52 by Hdyxbekcb
[¿¼ÑÐ] ÉúÎïѧ308·ÖÇóµ÷¼Á£¨Ò»Ö¾Ô¸»ª¶«Ê¦´ó£© +8 ÏàÐűػá¹ââÍòÕ 2026-04-05 10/500 2026-04-05 12:19 by Hdyxbekcb
[¿¼ÑÐ] µç×ÓÐÅÏ¢µ÷¼Á½»²æÑ§¿ÆÓÐÍÆ¼öÂð +6 jhtfeybgj 2026-04-01 9/450 2026-04-05 11:13 by Öí»á·É
[¿¼ÑÐ] 083200 333Çóµ÷¼Á +3 Ê®¶þ£¡£¡ 2026-04-04 3/150 2026-04-05 08:28 by barlinike
[¿¼ÑÐ] ²ÄÁϵ÷¼Á +12 Ò»ÑùYWY 2026-04-04 12/600 2026-04-05 08:24 by 544594351
[¿¼ÑÐ] 085602µ÷¼Á ³õÊÔ×Ü·Ö335 +12 19123253302 2026-04-04 12/600 2026-04-05 08:08 by 544594351
[¿¼ÑÐ] µ÷¼Á +8 ÐܶþÏëÉϰ¶ 2026-04-04 8/400 2026-04-05 05:27 by houyaoxu
[¿¼ÑÐ] 323Çóµ÷¼Á +8 Àî¼ÑÀÖ1 2026-04-04 8/400 2026-04-04 22:26 by hemengdong
[¿¼ÑÐ] 278Çóµ÷¼Á +14 ·¶æÃÄÈ 2026-04-04 15/750 2026-04-04 22:15 by lqwchd
[¿¼ÑÐ] 359Çóµ÷¼Á +7 hhhhaaaa$ 2026-04-04 7/350 2026-04-04 18:49 by imissbao
[¿¼ÑÐ] 283·Ö²ÄÁÏÓ뻯¹¤Çóµ÷¼Á +29 ÂÞKAKA 2026-04-02 29/1450 2026-04-03 23:56 by userper
[¿¼ÑÐ] 322Çóµ÷¼Á +4 FZAC123 2026-04-03 4/200 2026-04-03 20:55 by zhq0425
[¿¼ÑÐ] Ò»Ö¾Ô¸±±¾©½»Í¨´óѧ²ÄÁϹ¤³Ì×Ü·Ö358 +4 cs0106 2026-04-03 4/200 2026-04-03 13:41 by °ÙÁéͯ888
[¿¼ÑÐ] 081200-11408-276ѧ˶Çóµ÷¼Á +6 ´Þwj 2026-04-02 6/300 2026-04-03 10:19 by À¶ÔÆË¼Óê
[¿¼ÑÐ] 085600 295·ÖÇóµ÷¼Á +19 W55j 2026-03-30 23/1150 2026-04-03 09:53 by ǧǧÔËÆø
[¿¼ÑÐ] 309Çóµ÷¼Á +14 ´ô¹½²»ÊÇ´÷·ò 2026-04-02 14/700 2026-04-03 09:42 by À¶ÔÆË¼Óê
[¿¼ÑÐ] ²ÄÁϹ¤³Ì322·Ö +8 ¹þ¹þ¹þºðºðºð¹þ 2026-04-01 8/400 2026-04-02 11:53 by 3041
[¿¼ÑÐ] 348»·¾³¹¤³Ìµ÷¼Á +3 ÎâÑå׿24k 2026-04-01 3/150 2026-04-02 09:14 by nanaliuyun
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û