मैंने कोड लिखा है जो सिएरपिंस्की फ्रैक्टल को आकर्षित करता है। यह वास्तव में धीमा है क्योंकि यह रिकर्सन का उपयोग करता है। क्या आप में से कोई भी यह जानता है कि बिना किसी रिकॉर्शन के मैं एक ही कोड कैसे लिख सकता हूं ताकि इसे तेज किया जा सके? यहाँ मेरी कोड है:गणित में सिएरपिंस्की त्रिकोण उत्पन्न करना?
midpoint[p1_, p2_] := Mean[{p1, p2}]
trianglesurface[A_, B_, C_] := Graphics[Polygon[{A, B, C}]]
sierpinski[A_, B_, C_, 0] := trianglesurface[A, B, C]
sierpinski[A_, B_, C_, n_Integer] :=
Show[
sierpinski[A, midpoint[A, B], midpoint[C, A], n - 1],
sierpinski[B, midpoint[A, B], midpoint[B, C], n - 1],
sierpinski[C, midpoint[C, A], midpoint[C, B], n - 1]
]
संपादित करें:
मैं अराजकता खेल दृष्टिकोण मामले में कोई रुचि रखता है के साथ लिखा है। आपके महान उत्तरों के लिए धन्यवाद!
random[A_, B_, C_] := Module[{a, result},
a = RandomInteger[2];
Which[a == 0, result = A,
a == 1, result = B,
a == 2, result = C]]
Chaos[A_List, B_List, C_List, S_List, n_Integer] :=
Module[{list},
list = NestList[Mean[{random[A, B, C], #}] &,
Mean[{random[A, B, C], S}], n];
ListPlot[list, Axes -> False, PlotStyle -> PointSize[0.001]]]
http://stackoverflow.com/questions/159590/way-to-go-from-recursion-to-iteration –
पर एक नज़र डालें जब मैं ऐसी चीजों को चित्रित कर रहा था तो मुझे पता चला कि ग्राफिक को प्रतिपादित करने से काफी लंबा समय लग सकता है त्रिभुज स्थानों की गणना। मैंने एक पुनरावर्ती दृष्टिकोण भी इस्तेमाल किया (यदि थोड़ा अलग है)। – Szabolcs