آموزش پایگاهداده Shape (بخش B): تولید تصاویر و مشهای دوبعدی
در بخش A شما یک ورودی جدید در پایگاهداده Shape ایجاد کردید و اولین مش خود را از یک الگوی ساده شبیه بلور فوتونی ساختید. در این بخش تمرکز ما بر این است که این تصاویر دوبعدی در وهله اول چگونه تولید میشوند و چگونه به ساختارهای سهبعدی مفید برای رهگیری پرتو و شبیهسازی دستگاه تبدیل میشوند.
پایگاهداده Shape برای هندسههایی که توصیف آنها با توابع تحلیلی ساده دشوار است طراحی شده است: تصاویر AFM، سطوح زبر، کاشیکاریها و مشهای پیچیده و همچنین قطعات CAD واردشده. تمام این موارد بهصورت یکنواخت با شروع از یک تصویر دوبعدی و سپس اکسترود کردن آن به سهبعدی مدیریت میشوند.
1. نوار 2D Image
ویرایشگر Shape را برای هر ورودی در پایگاهداده باز کنید (برای مثال شکل demo
از بخش A) و به نوار 2D Image بروید. باید یک نوار ابزار
مشابه آنچه در
??
دیده میشود مشاهده کنید.
هر دکمه یک نقشه ارتفاع خاکستری جدید در پنل سمت راست ویرایشگر Shape تولید میکند: یک لانهزنبوری، یک بلور فوتونی (با برچسب Generate Xtal)، یک پروفایل شبیه عدسی، یک لکه گاوسی، یک موج دندانهارهای، یک الگوی شطرنجی یا یک سطح زبر با نویز Perlin. هر بار که روی یک دکمه کلیک میکنید تصویر با پیکربندی فعلی دوباره تولید میشود.
هر تولیدکننده همچنین یک فلش کوچک در زیر خود دارد. با کلیک روی آن یک پنجره Configure مخصوص همان الگو باز میشود. در ادامه چند نمونه عملی را بررسی میکنیم.
شما فقط به تصاویر مصنوعی محدود نیستید. دکمه Image در سمت چپ به شما اجازه میدهد داده واقعی AFM یا هر تصویر بیتمپ دیگری را وارد کنید. دیسکریتایزر تصویر را بهعنوان یک نقشه ارتفاع تفسیر میکند: پیکسلهای سفید متناظر با بیشترین ارتفاع، پیکسلهای سیاه با کمترین ارتفاع، و خاکستریهای میانی ارتفاعهای میانی ایجاد میکنند. برای بهترین نتیجه دادههای AFM باید به یک مقیاس خاکستری خطی تبدیل شوند؛ پالتهای رنگی «heat map» مناسب نیستند زیرا روشنایی دیگر بهصورت ساده ارتفاع را کد نمیکند.
در نهایت، اگر با ماوس روی تصویر سمت راست کلیک چپ کنید میتوانید پیکسلها را سیاه «نقاشی» کنید تا ماده حذف شود. این یک روش ساده برای بریدن نواحی ناخواسته یا ایجاد دهانهها بدون نیاز به تولید دوباره کل الگو است.
2. مثال: الگوهای تماس لانهزنبوری
ساختارهای لانهزنبوری بهعنوان تماسهای شفاف، شبکههای رسانای انعطافپذیر یا تکیهگاههای مکانیکی مفید هستند. برای تولید آن، روی Generate Honeycomb کلیک کنید. پنل سمت راست به یک شبکه ششضلعی بهروزرسانی میشود. هنگامی که روی Build Mesh کلیک میکنید، الگو به یک ساختار سهبعدی تبدیل میشود همانطور که در ?? نشان داده شده است.
پنجره پیکربندی به شما اجازه میدهد فاصله مشخصه در جهتهای x و y را تغییر دهید، الگو را نسبت به شبکه زیرین جابهجا کنید، عرض خطوط را تنظیم کنید و الگو را بچرخانید. تنظیمات کوچک در اینجا میتواند تفاوت بزرگی در نحوه قرارگیری مش در یک ساختار دستگاه ایجاد کند، بنابراین ارزش دارد کمی آزمایش کنید.
پس از آنکه از الگوی دوبعدی راضی شدید، دوباره Build Mesh را فشار دهید تا نمای سهبعدی بهروزرسانی شود. اگر مش بیش از حد پیچیده به نظر میرسد میتوانید روی Edit mesh کلیک کرده و تعداد مثلثها را کاهش دهید. هدف همیشه استفاده از کمترین تعداد مثلثی است که هنوز هندسه را بهدرستی نمایش میدهد: هر مثلث اضافی هزینه رهگیری پرتو را افزایش میدهد و در عمل کاهش سرعت معمولاً فوقخطی است نه خطی.
3. مثال: زبری شبیه AFM با نویز Perlin
رابطهای واقعی اغلب زبر هستند و توانایی تولید سطوح «AFM مصنوعی» با آمار مشابه برای آزمایشهای نوری سریع مفید است. OghmaNano از Perlin noise استفاده میکند، یک میدان تصادفی هموار که معمولاً در گرافیک رایانهای استفاده میشود (Wikipedia), تا این رفتار را شبیهسازی کند.
در نوار 2D Image روی Perlin noise کلیک کنید. یک الگوی نویز خاکستری در پنل سمت راست ظاهر میشود. میتوانید پارامترهای نویز را از طریق منوی پیکربندی کشویی تنظیم کنید و دوباره روی آیکون کلیک کنید تا تصویر تا رسیدن به نوع زبری مورد نظر دوباره تولید شود.
پس از انتخاب الگو، روی Build Mesh کلیک کنید تا سطح سهبعدی ایجاد شود. برای ساختارهای شبیه AFM اغلب بهتر است از یک مش منظم بهجای الگوریتم پیشفرض کاهش گره استفاده کنید. یک شبکه منظم نمونهبرداری یکنواختتری از ارتفاع سطح میدهد و کنترل تعداد کل مثلثها را آسانتر میکند. میتوانید بین این گزینهها در گفتوگوی Edit mesh جابهجا شوید و با وضوحهای مختلف مثلث آزمایش کنید تا به یک مصالحه مناسب بین دقت و سرعت برسید.
4. پسپردازش با Filters
پس از تولید یک تصویر دوبعدی، میتوانید آن را با استفاده از نوار Filters که در ?? نشان داده شده است بیشتر اصلاح کنید. این ابزارها مستقیماً روی تصویر سمت راست و پیش از ایجاد مش عمل میکنند.
فیلتر Blur لبهها و پلههای تیز را هموار میکند؛ گزینههای Normalize توزیع ارتفاع را به یک بازه کنترلشده مقیاسبندی میکنند؛ Threshold میتواند یک الگوی خاکستری را به ساختار دودویی تبدیل کند؛ و Boundary میتواند یک مرز جامد در اطراف الگو اضافه کند. همه اینها روی تصویر پایه عمل میکنند، بنابراین میتوانید آنها را آزادانه ترکیب کنید و سپس Build Mesh را فشار دهید تا اثر آنها روی سطح سهبعدی را ببینید.
بهعنوان یک مثال عملی، با یک الگوی موج دندانهارهای که با دکمه Saw wave تولید شده است شروع کنید. پس از ساخت مش ممکن است چیزی مشابه ?? ببینید. اعمال یک فیلتر blur لبهها را نرم میکند و سطح هموارتری مانند ?? ایجاد میکند.
راهبرد کلی همیشه یکسان است: یک تصویر دوبعدی تولید یا وارد کنید، هر فیلتر موردنیاز را اعمال کنید و سپس مش را دوباره بسازید. اگر مش حاصل هنوز بیش از حد سنگین است، از Edit mesh برای کاهش تعداد مثلثها استفاده کنید در حالی که ویژگیهای اصلی سطح حفظ شوند.
5. وارد کردن فایلهای CAD (Wavefront OBJ)
علاوه بر شکلهای مبتنی بر تصویر، OghmaNano میتواند مدلهای ساده CAD را از طریق قالب Wavefront OBJ (Wikipedia link) وارد کند. این کار زمانی مفید است که از قبل طراحیهای مکانیکی یا هندسههای عدسی را در یک بسته CAD خارجی تعریف کرده باشید.
برای وارد کردن یک مدل CAD، روی Import CAD file در گوشه بالا-چپ ویرایشگر Shape کلیک کنید و یک فایل OBJ انتخاب کنید. پارسر از نسخه متنی ساده این قالب پشتیبانی میکند که عمدتاً شامل تعریف رأسها و وجهها است. قالبهای CAD دیگر در حال حاضر شناسایی نمیشوند.
هنگام وارد کردن هندسه CAD کنترل تعداد مثلثها اهمیت ویژهای دارد. یک فایل OBJ بسیار دقیق با دهها هزار مثلث ممکن است برای تجسم مناسب باشد، اما برای رهگیری پرتو بسیار کند خواهد بود و میتواند بهراحتی زمان اجرای کل شبیهسازی را تحت سلطه قرار دهد. در صورت امکان، پیش از وارد کردن به OghmaNano مش را در ابزار CAD خود ساده یا decimate کنید.
6. نکتهای درباره سطوح بسته
صرفنظر از اینکه یک شکل از یک تصویر دوبعدی یا یک فایل CAD واردشده آمده باشد، تمام شکلهای مورد استفاده در OghmaNano بهعنوان سطوح بسته در نظر گرفته میشوند. بهطور غیررسمی، یک سطح زمانی بسته است که یک حجم را بدون سوراخ یا شکاف کاملاً محصور کند. در اصطلاح مش، هر یال در مش باید دقیقاً به دو مثلث تعلق داشته باشد.
دلیل این الزام این است که حلگر نوری باید بهطور بدون ابهام بداند که یک پرتو «داخل» یا «خارج» یک ساختار است. اگر یک مش یالهای باز، وجههای گمشده یا خودتقاطع داشته باشد، پرتوها میتوانند از شکافها عبور کنند یا در نواحی تعریفنشده گیر کنند. این امر میتواند به آرتیفکتهای عددی منجر شود یا حتی باعث شکست رهگیر پرتو شود.
مشهایی که از تصاویر دوبعدی تولید میشوند همیشه بهطور ساختاری بسته هستند: صفحه پایه و دیوارههای جانبی بهصورت خودکار اضافه میشوند. با این حال، واردات CAD فقط به اندازه فایل اصلی قابلاعتماد است. اگر با یک شکل مشتقشده از CAD مشکل داشتید، ارزش دارد در یک نمایشگر CAD بررسی کنید که آیا شیء واقعاً یک پوسته بسته تشکیل میدهد یا نه و در صورت لزوم آن را پیش از استفاده در OghmaNano اصلاح کنید.