شبیه سازی متغیرهای فراکتال با کامسول
در این پست وبلاگ، قصد داریم شبیه سازی متغیرهای فراکتال با کامسول یک ابزار قدرتمند در نرم افزار به نام متغیرهای حالت را بررسی می کنیم. ما یاد می گیریم که چگونه می توان از آنها برای تولید فراکتال استفاده کرد، مانند مجموعه معروف Mandelbrot و به اصطلاح نویز فراکتال. تولید فراکتال ها معمولی ترین استفاده از متغیرهای حالت نیست. با این وجود، این پست وبلاگ راهی آموزنده، آموزنده و سرگرم کننده برای یادگیری بیشتر در مورد استفاده از متغیرهای حالت، محاسبات پیچیده و اعداد تصادفی است.
فراکتال ها چیست؟
به طور کلی، فراکتال ها اشیایی هستند که نوعی خود شباهت را در مقیاس های مختلف نشان می دهند. این ممکن است نسبتاً انتزاعی به نظر برسد، اما الگوهای فراکتال در واقع در طبیعت رخ میدهند.
شبیه سازی متغیرهای فراکتال با کامسول به عنوان مثال، سرخس ها الگوهای فراکتال را نشان می دهند. هر برگ سرخس که در شکل زیر نشان داده شده است از “شاخه ها” یا بخش های فرعی کوچکتر تشکیل شده است که اصطلاحاً پینه نامیده می شود که در امتداد ساقه اصلی رشد می کنند و الگوهای مشابه خود برگ اصلی را نشان می دهند. پینههای منفرد دوباره از زیربخشهای کوچکتری تشکیل شدهاند که در برخی سرخسها ممکن است به قسمتهای کوچکتر تقسیم شوند. یک همتای ریاضی با الهام از الگوی موجود در طبیعت وجود دارد، یعنی سرخس بارنزلی. این نمایش ریاضی از برگ سرخس را می توان بر روی یک کامپیوتر با یک تابع تکراری که تنها به چند خط کد نیاز دارد، تولید کرد. تصویر به دست آمده شبیه یک برگ سرخس است که مانند الهام دنیای واقعی از تقسیمات فرعی با اشکال مشابه خود برگ اصلی تشکیل شده است. در واقع، سرخس بارنسلی اغلب به شکلهای کوچکتر و خود مشابه تقسیم میشود، در حالی که خود شباهت در سرخس واقعی فقط برای چند سطح وجود دارد.
علاوه بر ظاهر جذاب، فراکتال ها در واقع کاربردهای مختلفی در دنیای واقعی دارند، همانطور که در یک پست وبلاگ قبلی مورد بحث قرار گرفت. کاربرد دیگر در تصاویر تولید شده توسط رایانه است، مانند بازی های رایانه ای برای تقلید از اشیاء طبیعی مانند مناظر، ابرها، درختان یا گیاهان دیگر. بعداً در این پست وبلاگ، نحوه ایجاد یک منظره تا حدی واقعی با استفاده از الگوهای فراکتال را نشان خواهیم داد.
آموزش کامسول مجموعه ماندلبروت
شاید یکی از معروف ترین فرکتال ها مجموعه ماندلبروت باشد. به طور خلاصه، مجموعه ای از اعداد مختلط است که توسط یک تابع تکراری ساده تولید می شود. یک عدد مختلط، اگر به یک تابع تکرار شونده خاص متصل شود و قدر مطلق پس از تکرارهای زیاد واگرا نشود، بخشی از مجموعه در نظر گرفته می شود. برای بررسی اینکه آیا یک عدد بخشی از مجموعه است، کافی است آن را به فرمول زیر وصل کنیم.
محاسبه مجموعه Mandelbrot در واقع محاسبه مجموعه Mandelbrot در COMSOL بسیار ساده است. برای انجام این کار، یک هندسه دو بعدی ایجاد می کنیم که به عنوان یک صفحه پیچیده تفسیر می کنیم. هر نقطه در این صفحه نشان دهنده یک عدد مختلط است که می توانیم آن را به معادله تکرار شونده متصل کنیم. ما باید نتیجه قبلی را پیگیری کنیم تا عدد بعدی را محاسبه کنیم.
شبیه سازی متغیرهای فراکتال با کامسول در محیط دو بعدی
هنگامی که با وضعیت ردیابی داده ها از یک مرحله محاسباتی قبلی روبرو هستیم، ویژگی State Variables ابزار مناسبی است. در ویژگی State Variable می توانیم هر تعداد متغیر که لازم است تعریف کنیم. در این مورد، ما دو متغیر به نامهای zn و aura را تعریف میکنیم. شکل خاکستری سیاه نشاندهنده اعداد مختلط است که بخشی از مجموعه ماندلبروت (متغیر zn) هستند. با هر تکرار، تقریب نزدیک تری از اعدادی که در واقع بخشی از مجموعه هستند به دست می آوریم. سایه های مختلف خاکستری قدر مطلق zn را نشان می دهد. برای برخی از مقادیر اولیه، تابع تکرار شونده به یک مقدار همگرا نمی شود، اما در عوض بین مقادیر مختلف پرش می کند، که در انیمیشن، کمی شبیه به روشن و خاموش شدن دوباره منابع نور هستند. میدان رنگی خارج از مجموعه Mandelbrot نشان دهنده هاله است، که نشان می دهد اعداد با چه سرعتی واگرا می شوند. هر چه به مرز مجموعه مندلبرو نزدیکتر شویم، قبل از اینکه مقدار مطلق از دو بزرگتر شود، تکرارهای بیشتری مورد نیاز است.
آموزش comsol نویز فراکتال
اکنون که خلاصه فراکتال ها و متغیرهای حالت را دریافتیم، بیایید نگاهی به کاربرد عملی تر فراکتال ها در زمینه تصاویر تولید شده توسط کامپیوتر داشته باشیم. به طور خاص، نگاهی خواهیم داشت به این که چگونه می توان از نویز به اصطلاح فراکتال برای شبیه سازی بافت هایی با ظاهر ارگانیک استفاده کرد. این تکنیک در واقع در COMSOL برای دستیابی به تجسم واقعی مواد مختلف مورد استفاده قرار می گیرد، همانطور که در ادامه به آن خواهیم پرداخت. یکی دیگر از کاربردهای رایج نویز فراکتال در بازیهای رایانهای برای تولید زمینهایی با ظاهر طبیعی است. همچنین میتوانید شبیه سازی قطعات با کامسول بدون محدودیت در تحلیل های ساختاری را مطالعه کنید.
بیایید یک منظره مصنوعی با استفاده از نویز ایجاد کنیم. در زمینه ای که در اینجا مورد بحث قرار می گیرد، ما نویز را مقادیری تصادفی می دانیم. به عبارت دیگر، ما به دنبال تابعی به نام noise(x,y) هستیم که دو مختصات را به عنوان آرگومان می گیرد و یک عدد شبه تصادفی را برمی گرداند. نتیجه به عنوان ارتفاع زمین در موقعیت داده شده تفسیر می شود. با تابع Random در COMSOL می توانیم به اصطلاح نویز سفید ایجاد کنیم. اگر نتایج را در صفحه xy رسم کنیم، اعداد به طور تصادفی و مستقل از یک می پرند.