پایگاه داده شکل
پایگاه داده شکل بهعنوان یک مخزن محلی همهمنظوره برای مدلهای CAD سهبعدی عمل میکند. ورودیهای پایگاه داده شکل بهصورت مشهای سهبعدی (یا شکلها) ذخیره میشوند و ممکن است، برای مثال، سطح زبر یک ماده بهدستآمده از اندازهگیریهای AFM، تماس ششضلعی پیچیده روی یک دستگاه با مساحت بزرگ (نگاه کنید به ??)، یا ستونهای تناوبی یک بلور فوتونی را نمایش دهند. شکلها با استفاده از مشهای مثلثی تعریف میشوند. پنجره پایگاه داده شکل شامل ابزارهایی برای تولید مدلهای جدید CAD سهبعدی از تصاویر دوبعدی، و نیز وارد کردن مشهای خارجی از فایلهای Wavefront OBJ است. نکته مهم این است که تمام شکلهای این پایگاه داده بهصورت پایدار روی دیسک ذخیره میشوند و برای نمایش هندسههای پیچیدهتری نسبت به هندسههای تولیدشده توسط ویرایشگر مش در نظر گرفته شدهاند؛ ویرایشگر مش بر اشکال هندسی ساده مانند جعبهها، لولهها و کرهها تمرکز دارد (نگاه کنید به مشهای CAD).
دسترسی به پایگاه داده
شکلها در پایگاه داده شکل ذخیره میشوند که میتوان از طریق نوار Database با کلیک روی آیکون Shapes به آن دسترسی یافت (نگاه کنید به ??). با کلیک روی آیکون پایگاه داده شکل، پنجره پایگاه داده شکل باز میشود (??).
سعی کنید بعضی از شکلها را باز کنید تا آنها را بررسی کنید. پنجرهای مشابه ?? خواهید دید. این مثال یک ساختار تماس لانهزنبوریِ یک سلول خورشیدی را نشان میدهد. در سمت چپ، شکل سهبعدی قرار دارد و در سمت راست تصویر دوبعدیای که برای تولید آن استفاده شده است. روی تصویر دوبعدی، یک تصویر فرافکنی zx از مش سهبعدی قرار گرفته است. میتوانید این مش دوبعدی را با تغییر وضعیت دکمه show mesh در نوار بالایی روشن و خاموش کنید.
تولید یک مش
پس از باز شدن پنجره پایگاه داده شکل، میتوانید هر شکل ذخیرهشده را مشاهده و ویرایش کنید. بسیاری از شکلهای موجود در پایگاه داده
در ابتدا از تصاویر دوبعدی با استفاده از ابزارهای گسستهسازی داخلی ایجاد شدهاند. این بخش توضیح میدهد این فرایند
چگونه کار میکند. morphology/1 را در پایگاه داده شکل باز کنید. پنجرهای مشابه
?? خواهید دید.
پنل سمت چپ مش مثلثی سهبعدی حاصل را نشان میدهد، در حالی که پنل سمت راست تصویر دوبعدی اصلیای را نمایش میدهد که
مش از آن تولید شده است. دکمه Show mesh در نوار File، همپوشانی مش را
روی تصویر دوبعدی روشن و خاموش میکند و به شما اجازه میدهد بررسی کنید مثلثبندی چگونه ویژگیهای زیربنایی را دنبال میکند.
برای تغییر نحوه تبدیل تصویر به یک مش سهبعدی، در نوار File روی Edit mesh کلیک کنید. این کار گفتوگوی پیکربندی مش را باز میکند (??), که به شما اجازه میدهد سطح گسستهسازی را کنترل کنید.
پارامترهای کلیدی عبارتاند از:
- x-triangles — حداکثر تعداد مثلثها در راستای افقی
- y-triangles — حداکثر تعداد مثلثها در راستای عمودی
- Method — انتخاب میکند که مش چگونه ساخته شود
- Min allowable angle — از تشکیل مثلثهای بسیار باریک و ناپایدار جلوگیری میکند
بهعنوان یک مثال، هر دو مقدار x-triangles و y-triangles را به 40 کاهش دهید، سپس
روی Build mesh کلیک کنید. مش حاصل تعداد مثلثهای کمتری خواهد داشت و بنابراین جزئیات آن کمتر خواهد بود،
اما کار با آن سریعتر خواهد شد. این کاهش بلافاصله در پیشنمایشهای دوبعدی و سهبعدی قابل مشاهده است.
تنظیم Method کنترل میکند مثلثها چگونه تولید شوند:
- No reduce: یک شبکه مثلثی یکنواخت و منظم تولید میکند. این روش دقیقترین هندسه را میدهد اما تعداد زیادی مثلث ایجاد میکند.
- Node reduce: از یک شبکه منظم شروع میکند و سپس نقاط غیرضروری را حذف میکند تا ضمن حفظ شکل کلی، تعداد مثلثها کاهش یابد.
با تغییر به No reduce و بازسازی مش، مش تطبیقی با یک مثلثبندی منظم کامل 70 × 70 جایگزین خواهد شد. این روش دقیقتر است، اما ذخیرهسازی و شبیهسازی آن نیز سنگینتر است. هر مثلث اضافی در یک مش بار محاسباتی بیشتری را در یک شبیهسازی وارد میکند. بنابراین هدف هنگام ساخت یک مش این است که شکل با کمترین تعداد مثلث ممکن نمایش داده شود. اگر بتوانید یک سطح کامل را با تعداد نسبتاً کمی مثلث توصیف کنید، معمولاً این کار ارزشمند است. با این حال، برای شکلهای بسیار منظم، استفاده از Node reduce برای کاهش تعداد مثلثها ممکن است سودی اندک یا حتی هیچ سودی نداشته باشد؛ در چنین مواردی یک مش منظم ساده میتواند به همان اندازه مؤثر باشد. در عمل، اغلب لازم است با تنظیمات و روشهای مختلف آزمایش کنید تا مشی بیابید که توازن قابلقبولی بین دقت
و هزینه محاسباتی فراهم کند.
ابزارهای تولید تصویر دوبعدی و فیلترگذاری
افزون بر بارگذاری تصاویر از فایل، ویرایشگر شکل شامل مجموعهای از ابزارها برای تولید الگوهای دوبعدی جدیدی است که میتوان آنها را به مشهای سهبعدی تبدیل کرد. این ابزارها در نوار 2D Image قرار دارند و مولدهایی برای گستره وسیعی از ساختارها در بر میگیرند:
- Honeycomb برای آرایشهای پیکسلی یا شبکههای الکترودی
- Photonic crystal با تناوب قابل پیکربندی
- Lenses که بهصورت نقشههای ارتفاع تعریف میشوند
- Gaussian برای برجستگیها، فرورفتگیها یا سطوح گرادیانی
- Saw-wave برای توابع ارتفاعی دندانهارهای (نمونه در زیر نشان داده شده است)
- Checkerboard برای کالیبراسیون و آزمون
- Perlin noise برای تولید زبری سطح واقعگرایانه
هر مولد گزینههای پیکربندی مخصوص به خود را فراهم میکند و به شما امکان میدهد پیش از تبدیل آن به یک مش، هندسه را سفارشی کنید. این تصاویر بهعنوان نقشههای ارتفاع یا ماسک عمل میکنند که ویرایشگر شکل از روی آنها ساختار سهبعدی متناظر را میسازد.
پس از تولید یا بارگذاری یک تصویر، نوار Filters ابزارهایی برای تغییر آن پیش از ساخت مش فراهم میکند. این ابزارها شامل موارد زیر هستند:
- Blur — نویز یا گذارهای تند را هموار میکند
- Normalize (x, y, z) — تصویر را در هر راستا بازمقیاس میکند
- Threshold — تصویر را به یک ماسک دودویی تبدیل میکند (نمونه در بالا نشان داده شده است)
- Rotate — الگو را با زوایای ثابت یا دلخواه میچرخاند
- Boundary — مرزهای درون تصویر را برجسته یا استخراج میکند
این ابزارها به شما اجازه میدهند نقشههای ارتفاع را پالایش کنید، تصاویر نویزی را پاکسازی کنید، یا پیش از تولید مش مثلثی نهایی، الگوها را دستکاری کنید. ترکیب مولدهای تصویر و فیلترها یک روند کاری انعطافپذیر برای ایجاد هندسههای سهبعدی پیچیده و سفارشی را مستقیماً در داخل OghmaNano فراهم میکند.
وارد کردن از فایلهای CAD
علاوه بر تولید شکلها از تصاویر دوبعدی، ویرایشگر شکل همچنین به شما اجازه میدهد مشهای سهبعدی خارجی را با استفاده از دکمه Import CAD file که در ?? نشان داده شده است وارد کنید. OghmaNano از قالب Wavefront OBJ پشتیبانی میکند که بهطور گسترده برای ذخیره مشهای سطحی مثلثبندیشده استفاده میشود. همچنین در پایگاه داده شکل مثالی از یک مدل CAD واردشده خواهید یافت: قوری Utah کلاسیک که در ?? نشان داده شده است. این مش نشان میدهد مدلهای مثلثبندیشده خارجی پس از وارد شدن به ویرایشگر چگونه ظاهر میشوند.
هنگام وارد کردن مدلهای CAD، مهم است اطمینان حاصل شود که مش یک سطح بسته تشکیل میدهد. سطح بسته سطحی است که در آن هر یال دقیقاً به دو مثلث تعلق دارد و یک حجم کاملاً مهرومومشده و آببند تولید میکند. سطوح باز، وجههای مفقود یا ترکها باعث ابهام در تعیین این میشوند که نقاط درون یا بیرون جسم قرار دارند، و این امر آنها را برای شبیهسازی نامناسب میکند.
مشهای CAD معمولاً برای ماشینکاری و ساخت طراحی میشوند، نه برای شبیهسازی عددی. در نتیجه، آنها اغلب بسیار بیشتر از مقدار لازم برای مدلسازی نوری یا فیزیکی، مثلث دارند. تعداد زیاد مثلثها زمان محاسبه را در رهگیری پرتو و دیگر حلگرها بهطور قابلتوجهی افزایش میدهد.
برای بهترین عملکرد، اطمینان حاصل کنید که مشهای واردشده:
- یک سطح کاملاً بسته و آببند تشکیل دهند،
- فقط به تعداد مثلثهای لازم برای نمایش هندسه شامل باشند، و
- ویژگیهای ریز غیرضروری یا آثار ماشینکاری از آنها حذف شده باشد.
پیروی از این دستورالعملها کمک خواهد کرد هندسههای CAD واردشده بهصورت کارآمد در OghmaNano اجرا شوند.
قالب فایل شکل
یک شکل باید یک حجم کاملاً بسته تشکیل دهد. اگر از گسستهساز داخلی شکل استفاده کنید، این شرط بهطور خودکار اعمال میشود. با این حال، اگر شکلها را بهصورت دستی بسازید باید اطمینان حاصل کنید که حجم بسته است.
هر پوشه شکل شامل فایلهای زیر است:
| نام فایل | توضیح | |
|---|---|---|
| \(data.json\) | دادههای پیکربندی برای شکل. | |
| \(image\_original.png\) | نسخه پشتیبان تصویر واردشده. | |
| \(image\_out.png\) | تصویر نهایی پردازششده. | |
| \(image.png\) | نسخه کاری تصویر واردشده. | |
| \(shape.inp\) | مش سهبعدی گسستهشده شکل. |
فایلهای PNG تصویر را در مراحل مختلف پردازش نمایش میدهند. فایل data.json پیکربندی
ویرایشگر شکل را ذخیره میکند، و فایل shape.inp ساختار سهبعدی جسم را در بر دارد.
یک نمونه فایل shape.inp در
?? نشان داده شده است.
این قالب بهگونهای طراحی شده است که gnuplot بتواند مستقیماً آن را با استفاده از فرمان splot باز کند.
هر مثلث با چهار نقطه z, x, y توصیف میشود: سه خط نخست مثلث را تعریف میکنند، و
خط چهارم نقطه اول را تکرار میکند تا gnuplot بتواند یک مرز بسته رسم کند. تعداد مثلثهای موجود در
فایل در خطی که با #y شروع میشود تعریف شده است.
بزرگی دقیق مقادیر z, x, y اهمیتی ندارد. بهمحض بارگذاری شکل، تمام مقادیر
نرمالسازی میشوند تا کمینه نقطه شکل در (0, 0, 0) قرار گیرد و بیشینه نقطه در
(1, 1, 1) واقع شود. هنگامی که شکل در یک صحنه درج میشود، دوباره به اندازه فیزیکی دلخواه
جسم در دستگاه بازنرمالسازی میشود.
shape.inp. هر مثلث با چهار نقطه z, x, y تعریف میشود و میتوان آن را
مستقیماً با استفاده از gnuplot نمایش داد.
👉 گام بعدی: برای یک مثال عملی از نحوه تولید شکلها، لطفاً آموزش مربوط به پایگاه داده شکل و نحوه ایجاد شکلهای سهبعدی از تصاویر را در این پیوند ببینید.