שטיח שרפינסקי

מתוך ויקיפדיה, האנציקלופדיה החופשית
קפיצה לניווט קפיצה לחיפוש

שטיח שרפינסקי הוא פרקטל שיצר המתמטיקאי הפולני ואצלב שרפינסקי בשנת 1916, שנה לאחר משולש שרפינסקי.

שטיח שרפינסקי 6 צעדים ראשונים

השטיח מושג על ידי חיתוך ריבוע ל 9 ריבועים שווים של 3 X ‏ 3 תוך סילוק הריבוע המרכזי והמשך רקורסיבי עד אינסוף. סילוק החלק הפנימי מותיר תמיד קבוצה סגורה והשטיח הוא קבוצת כל החיתוכים. לפי משפט היינה-בורל קבוצה זו היא קבוצה קומפקטית.

טכניקה דומה בשלושה ממדים המבוססת על קוביות יוצרת את ספוג מנגר.

ממד האוסדורף או המימד הפרקטאלי של השטיח שווה ל

היות שבכל שלב בונים 8 העתקים בגודל שליש מהצורה הקודמת.

השטיח הוא הכללה אחת של קבוצת קנטור לשני ממדים ועוצמתו היא עוצמת הרצף. ההכללה השנייה היא אבק קנטור. עם זאת במידת לבג שטח השטיח הוא אפס: בתהליך אינסופי שטחו "מתרוקן".

הוכח שהפיזור בהילוך מקרי בשטיח שרפינסקי איטי יותר מאשר בתנועת בראון [1]

חישוב שטחו של השטיח[עריכת קוד מקור | עריכה]

יהי x אורך צלע הריבוע ו y מספר הצעדים, נוסחת שטח השטיח היא:

לדוגמה, ריבוע שאורכו 100 מטא ושטחו 10000 מ"ר, יקטן לאחר שני צעדים ל:

ככל שמספר הצעדים יגדל, השטח יקטן.

יישום[עריכת קוד מקור | עריכה]

בטלפון סלולרי וWi-Fi קיים סוג אנטנה הנקרא פרקטלי, הבנוי על מספר איטרציות של שטיח שרפיסנקי. האנטנה מתאימה לטיפול במספר רב של תדרים, היא קלה לייצור וקטנה מאנטנות רגילות בעלות אותם ביצועים.

תהליך[עריכת קוד מקור | עריכה]

תוכנית מחשב[עריכת קוד מקור | עריכה]

יישומון בשפת ג'אווה ליצירת שטיח שרפיסנקי באמצעות מתודה רקורסיבית:

import java.awt.*;
import java.applet.*;

public class SierpinskiCarpet extends Applet
{
    private Graphics g = null;
    private int d0 = 729; // 3^6

    public void init()
    {
        g = getGraphics();
        resize(d0, d0);
    }

    public void paint(Graphics g)
    {
        // Rekursion starten:
        drawSierpinskiCarpet (0, 0, getWidth(), getHeight() );
    }

    private void drawSierpinskiCarpet(int xOL, int yOL, int width1, int height1)
    {
        if (width1>2 && height1>2)
        {
            int b = width1/3;
            int h = height1/3;
            g.fillRect (xOL+b, yOL+h, b, h);
            for (int k=0; k<9; k++) if (k!=4)
            {
                int i=k/3;
                int j=k%3;
                drawSierpinskiCarpet (xOL+i*b, yOL+j*h, b, h); // Rekursion
            }
        }
    }
}

קישורים חיצוניים[עריכת קוד מקור | עריכה]

ויקישיתוף מדיה וקבצים בנושא שטיח שרפינסקי בוויקישיתוף

הערות שוליים[עריכת קוד מקור | עריכה]