mohsenfff
  • mohsenfff
  • 52.26% (معمولی)
  • حرفه ای ارزشمند شروع کننده موضوع
12 سال پیش
با اموزش جدیدی در خدمت شما هستم که در مورد مش (Mesh) است . اما پیش از شروع این آموزش مسائل جدیدی پیش آمده . اولا اینکه آموزش ها بیش از آنچه که فکر میکردم طول خواهد کشید . چند مورد جدید پیش آمده ، چون آموزش هایی که من تهیه میکنم برای عموم کاربران است بنابراین سعی کردم آنها را تا میشود به طور ساده و کاربردی ارائه کنم بنابراین پس از پایان آموزش ها ، یک ویدیوی آموزشی از آموزش هایی که دادم تهیه میکنم چون اینطوری رغبت خواننده برای دنبال کردن آموزش ها بیشتر میشه . قسمت تهیه مدل سه بعدی را به دلیل اینکه هیچ توضیح ساده و کوتاهی برای آن وجود ندارد از لیست آموزش ها حذف کردم شاید ساده ترین برنامه برای تهیه مدل های سه بعدی برنامه google sketchup باشد که البته یاد گرفتن اون هم چند صد صفحه آموزش و تجربه میبره اما برنامه ای هست به نام Instant Object Maker که میشه مدل های ساده ای را با اون ساخت که کار با اون هم بسیار ساده است و آموزشش رو بعدا خواهم داد . اما بخش جدیدی رو که اضافه کردم آموزش اصولی ساختن فرودگاه است که به طور اصولی و همراه با توضیحات فراوان و قابل فهم نحوه ساخت فرودگاه رو از صفر نشان میده و برای این آموزش هم از برنامه های ساده استفاده میکنیم . بقیه آموزش ها نیز سر جای خودش است و به مرور به هر تاپیک جزیئات اضافی و به قول فرنگی ها FAQ رو اضافه میکنم .

مش

این تاپیک به 3 بخش تقسیم میشود ، بخش اول نگاهی کلی به مش ، بخش دوم ساختن مش و مسائلی که در هنگام ساختن مش باید به آنها توجه کرد، و بخش سوم مشکلات و نحوه حل آنها بعد از اصلاح مش.
بخش اول
نگاهی بر مش

ارتفاع و شیب زمین تاثیر زیادی را بر سیاره ما دارد. برای مثال تاثیر بر روی آب و هوا ،منابع طبیعی ، و پراکندگی جنگل ها و حیوانات و انسان ها . اما شاید مهمترین نقش آنها در شبیه ساز پرواز کمک به خلبانان در پروازهای VFR و همچنین زیبایی افزاینده محیط باشد.
داده های ارتفاع برای یک منطقه به طور معمول در فواصل معین افقی اندازه گیری میشود (رزولوشن سورس) که از این طریق شبکه هایی از نقاط اطلاعات داده ای تولید میشود .فواصل بین این نقاط (داده های ارتفاع) در نهایت تعیین کننده دقت زمین مورد نظر است.
**متاسفانه در این لحظه که دارم عکس ها رو آپلود میکنم گالری ایران سیم از کار افتاده و من مجبورم عکس ها رو در سایت های دیگر آپلود کنم**

UserPostedImage


رزولوشن سورسی که در شبیه ساز پرواز مورد استفاده قرار میگیرد جا به جا فرق میکند .بعضی جاها دقیقتر از جاهای دیگر میباشند . این طور به نظر میرسه که به طور معمول بین هر نقطه داده ای فاصله ای بیش از 350 متر باشد .اگر چه بعضی جاها بسیار بهتر هستند . با اینکه هزار متر به نظر زیاد میرسد اما باز هم پیشرفت قابل توجهی نسبت به نسخه قبلی شبیه ساز است و شاید برای بیشتر مقاصد کافی باشد . برای مثال به تصویر زیر نگاهی بیندازید:

UserPostedImage 


در بالا خط سیاه اولی ناهمواریهای زمین است که در واقعیت وجود دارد . همان طور که اشاره شد در بیشتر مواقع شبیه ساز در هر 350 متر اطلاعات داده ای ارتفاع را میگیرد و آنها را نشان میدهد . خطوط آبی هر 350 متر را نشان میدهد . خط سیاه دوم در پایین نحوه نمایش بلندی های زمین در شبیه ساز است که فقط هر 350 متر را به هم وصل کرده . همانطور که میبینید پستی بلندی هایی که در میان این 350 متر قرار گرفته اند به طور کامل در شبیه ساز از قلم انداخته شده اند که من آنها را با نقاط زرد رنگ مشخص کردم و همچنین پستی بلندی هایی که در زمین اصلی وجود دارد را با پیکان های سبز رنگ نشان داده ام .البته همیشه اینگونه نیست و در بعضی جاهای ایران به جای مش با رزولوشن 1000 متر ، رزولوشن 152 متر در نظر گرفته شده است که این بالاترین رزولوشن در ایران است . اما در مورد آمریکا در بیشتر جاها رزولوشن 38 متر و یا حتی 19 متر است
تصویر بالا فقط یک مثال بود و در مورد رزولوشن و مشکلات و پیچیدگی های آن بعدا سخن خواهم گفت.

وقتی که شبیه ساز ارتفاع را برای جایی که در آن پرواز میکنید مشخص کرد ، شبکه های سیاه و سفیدی را که در عکس اول مشخص کردم را با تکسچر ، پوشش های گیاهی و اطلاعات تراکم جمعیت میپوشاند.(در مورد اطلاعات تراکم جمعیت و کاربرد آن در ترافیک هوایی در آموزش های آینده سخن میگویم) .شبیه ساز محدوده عظیمی از تکسجرهای تصویری را با هم ترکیب کرده و به گردش در میآورد تا سطح زمین را هر چه بیشتر به واقعیت نزدیک کند

UserPostedImage


در نهایت سنری های ثابت ( همان Scenery complexity ) و اتوژن ها (Auto-gene) و درختان به صحنه اضافه میشود.
حداقل از لحاظ تئوری اینگونه است ، اما در عمل اوضاع پیچیده تر است: تجسم (یا به تصویر کشیدن) زمین ، برای برنامه هایی مثل شبیه ساز که احتیاج دارند مقادیر عظیمی از تصاویر با دقت بالا (مثلا LOD 19) را با فریم بالا نمایش دهند ،مشکلیست بس عظیم. موتوری که به طور پیوسته سطح جزئیات زمین را پردازش میکند ( به اختصار CLOD ) مقدار چند ضلعی ها( polygons ) را که باید کشیده شود را کاهش میدهد.یکی از راههای انجام این کار تقسیم کردن تکه های زمین به اندازه های نامشخص است .این تکه ها سپس به 2 مثلت تقلیل پیدا میکنند که در این حالت نقاط heightmap (تصویری که برای ذخیره اطلاعات مثلا اطلاعات ارتفاع مورد استفاده قرار میگیرد) از قلم انداخته میشوند .سپس کامپیوتر موقعیت احتمالی مثلث در صفحه را حساب میکند و اینها را با نقاطی که قبلا از قلم افتادند مقایسه میکند.اگر تفاوت ارتفاع در مقیاس پیکسل بین مثلت و heightmap بیشتر از آستانه مشخصی ( مثلا 3 پیکسل ) بود ، آنگاه مثلث به دو بخش تقسیم میشود . بعد از آن ، دو مثلث جدید دوباره مورد محاسبه قرار میگیرند و این فرآیند دوباره تکرار میشوند تا زمانی که خطای روی صفحه نمایش کمتر از مقدار آستانه شود.

در نتیجه CLOD مثلث های بیشتری را در منظره جلوی عکس (foreground) و مثلت های کمتری را در خط افق تولید میکند.CLOD همچنین در تکه هایی که کاملا صاف هستند چند ضلعی ها را تلف نمیکند.این یک فرآیند دینامیک است و شکل گیری زمین بعضی مواقع که شما بر فراز مناطق COMPLEX پرواز میکنید قابل مشاهده است .همچینین صحنه های auto-gen برای قرار گرفتن در ارتفاع صحیح مشکل دارند .

رزولوشن مش

در زیر دو تصویر را مشاهده میکنید که مربوط به اطلاعات واقعی ارتفاع زمین یکی با رزولوشن بالا و دیگری با رزولوشن پایین است

UserPostedImage 


همان طور که در ابتدای همین تاپیک هم توضیح دادم و با عکس هم نشان دادم .رزولوشن 1000 به این معناست که اطلاعات ارتفاع در هر 1000 متر گرفته شده و هر پستی و بلندی که بین آنهاست نادیده گرفته مشود و به لحاظ تئوری و عمل هم این فرآیند توضیح داده شد.برای روشن شدن موضوع شما این کوه را که در واقعیت وجود دارد در نظر بگیرید

UserPostedImage


من مانند گراف بالا داخل آن را سبز میکنم و پستی بلندی کوه را با رنگ سیاه نشان دادم تا فهم گراف بالا برای شما راحتر باشد

UserPostedImage


حالا فرض کنید ما دو نمونه اطلاعات ارتفاع در نظر داریم .یکی رو فرض کنید که همون اطلاعات ارتفاع یا مش دیفالت مایکروسافت با رزولوشن 90 متر است ( البته برای ایران نهایتا 152 متر است) و دیگری اطلاعات ارتفاعی است که ما از بعضی سرور ها که نهایتا تا 38 (البته در اینجا 30) متر رزولوشن را در اختیار عموم قرار میدهند به دست آوردیم

UserPostedImage 


به بیان دیگر در تصویر سمت چپ اطلاعات ارتفاع فقط در هر 90 متر در اختیار شبیه ساز قرار میگیرد و در تصویر سمت راست اطلاعات ارتفاع در هر 30 متر در اختیار شبیه ساز قرار میگیرد . بنابراین شبیه ساز هیچ اطلاعی از ارتفاعی که بین این 90 متر یا 30 متر قرارد دارد ندارد. اگر ما این نقاط ارتفاع را به یکدیگر متصل کنیم بهترین حالتی که میتوان انتظار داشت شبیه ساز پستی و بلندی کوه را برای رزولوشن 90 و 30 متر نشان دهد به صورت زیر است :

UserPostedImage 


همان طور که مشاهده میکنید با رزولوشن 90 این کوه تقریبا به مانند تپه به نظر میرسد (چیزی که برای اکثر کوههای ایران وجود دارد).در رزولوشن 30 متر اوضاع به نسبت خیلی بهتر است (اما متاسفانه فعلا رزولوشن بالاتر از 38 متر در اختیار عموم قرار ندارد .شاید در آینده رزولوشن های 19 و 10 متر هم برای ایران در دسترس قرار گیرد).
به همین ترتیب نیز میتوان انتظار داشت نمودارهایی که در بالا به صورت گراف نشان دادم به صورت زیر در آید:

UserPostedImage


این حداکثر انتظاری است که میتوان از شبیه ساز داشت تا ارتفاعات و دره ها را با رزولوشن 30 و 90 واقعی نشان دهد

UserPostedImage


در عکس سمت راست ما LOD را بالاتر از رزولوشن سورس در نظر گرفتیم و در شکل سمت چپ LOD را تقریبا هم تراز رزولوشن سورس در نظر گرفتیم
توسعه دهنده گان رزولوشن نهایی را با استفاده از یک مقدار LOD ( البته این LOD با LOD که در تکسچر از آن صحبت کردیم تفاوت دارد و در فایل INF مربوط یه ELEVATION قرار دارد) مشخص میکنند .اما هیچ کنترلی بر روی مکان samples هایی که برای ساخت اطلاعات جدید استفاده میشود ندارند .شبیه ساز پرواز از سیستم شبکه داخلی خود استفاده میکند که منطبق بر هیچ گونه رزولوشن موجود نیست .بنابراین در این مرحله مقداری دقت از بین میرود .ما هنوز چیزی از جزئیات این فرآیند تبدیل نمیدانیم اما مناطق سبز رنگ ماهیت این تحریف اضافی را نشان میدهد.توجه داشته باشید که مکان قله ها و دره ها در هر مرحله از این فرآید تغییر میکند.این باعث میشه که اطمینان از تطابق عناصر دیگر صحنه با مش جدید مشکل شود.

UserPostedImage 

UserPostedImage 

UserPostedImage 


پایان بخش اول
نکات خیلی زیادتری در مورد مش و ساخت آن وجود دارد که در بخش دوم و سوم به آنها خواهیم پرداخت
Touradg
  • Touradg
  • 100% (عالی)
  • مدیریت شبیه ساز: Prepar3D 5.3
12 سال پیش
محسن جان جسارتاً یک نکته ای رو برای توجیه بیشتر عرض کنم و آن اینکه ، ما در شبیه ساز مش Mesh طراحی نمی کنیم بلکه Terrain طراحی می کنیم.Mesh به صورت خیلی ساده بافتی توری مانند از عوارض سطح زمین (همونطوری که در عکس مشخص هست) می باشد که با استفاده از ابزارهایی تبدیل به عوارض یا Terrain می شود.طراحی مش کار بسیار پیچیده و گرانی هست.

بهترین و کاملترین منبع که بدون خوردگی و خطا باشه و در عین حال مجانی ، اطلاعات توپوگرافی ناسا هست که به SRTM مشهورند و به راحتی توسط شبیه ساز پشتیبانی میشوند.

نکته دیگر درباره عکسهای مربوط به رزولوشن ، همانطور که خود شما گفتی هر چی وضوح بالاتر بره فاصله بین دو نقطه کمتر میشه و طبیعتاً پاره خط متصل بر نقطه اوج کوتاهتر ولی این در عکسهای 4 و 7 رعایت نشده.بنابراین شکل صحیح بصورت زیر خواهد بود:

UserPostedImage

PC Flight Simulation Geek Since 1998
mohsenfff
  • mohsenfff
  • 52.26% (معمولی)
  • حرفه ای ارزشمند شروع کننده موضوع
12 سال پیش
Touradg نوشت:

محسن جان جسارتاً یک نکته ای رو برای توجیه بیشتر عرض کنم و آن اینکه ، ما در شبیه ساز مش Mesh طراحی نمی کنیم بلکه Terrain طراحی می کنیم.Mesh به صورت خیلی ساده بافتی توری مانند از عوارض سطح زمین (همونطوری که در عکس مشخص هست) می باشد که با استفاده از ابزارهایی تبدیل به عوارض یا Terrain می شود.طراحی مش کار بسیار پیچیده و گرانی هست.

بهترین و کاملترین منبع که بدون خوردگی و خطا باشه و در عین حال مجانی ، اطلاعات توپوگرافی ناسا هست که به SRTM مشهورند و به راحتی توسط شبیه ساز پشتیبانی میشوند.

نکته دیگر درباره عکسهای مربوط به رزولوشن ، همانطور که خود شما گفتی هر چی وضوح بالاتر بره فاصله بین دو نقطه کمتر میشه و طبیعتاً پاره خط متصل بر نقطه اوج کوتاهتر ولی این در عکسهای 4 و 7 رعایت نشده.بنابراین شکل صحیح بصورت زیر خواهد بود:

UserPostedImage




تورج جان به این دلیل من از کلمه مش استفاده کردم که فهم اون برای کاربران عادی راحتتر است . تو این مقالات من نمیخواهم از اصطلاحات تخصصی که هم خواننده رو گیچ میکنه و هم رغبت ادامه خوندن مطالب رو میگیره استفاده کنم. .البته مش رو هم میشه طراحی کرد که باید با داده ها و برنامه های GIS آشنا بود که برای کاربر عادی بسیار مشکله .کاری که ما میخوایم بکنیم تبدیل اطلاعات GIS آماده به فرمت BGL است . ابزار تبدیل هم که همان Resample مایکروسافت است . اما متاسفانه بهترین منبع اطلاعات ارتفاع برای ایران SRTM نیست ، شاید برای آمریکا این طور باشد ولی برای ایران بهترین منبع اطلاعات ارتفاع ASTER GDEM است که در بخش دوم به معرفی اون پرداختم و در بخش سوم آموزش با عکس این مسئله ثابت میشود
اما در اینجا من دو عکس از عوارض طبیعی شیراز که یکی توسط STRM تهیه شده و دیگری توسط ASTER رو بهتون نشون میدم تا متوجه این اختلافات بشوید:


UserPostedImage 

اطلاعات ارتفاع STRM

UserPostedImage 

🅱اطلاعات ارتفاع ASTER


عکس اولی مربوط به SRTM و دومی مربوط به ASTER میشود . اولین اختلاف مربوط به طیف رنگ که معرفی تغییرات ارتفاع است میشود که من آن را با شماره 1 در سمت چپ مشخص کردم .در مورد SRTM طیف رنگ ناگهان از آبی یه سبز و بعد به زرد و بعد نارنجی و قرمز تغییر پیدا میکند ولی در ASTER این تغییر رنگ تدریجی و خیلی SMOOTH است ، نتیجه اینکه در مناطقی که پستی و بلندی کمی داره مثل کویر ها و بیابان ها ، SRTM زمین رو تقریبا صاف و یکدست نشون میده ولی ASTER این پستی بلندی های ناچیز رو هم میتونه نشون بده. که در عکس اول من این نکته رو با شماره 5 مشخص کردم .تصویر SRTM سبز و صاف و یکدست است ولی ASTER مخلوطی از سبز و زرد کم رنگ همراه با چین خوردگی است .
نمود این مسئله رو در عکس زیر که از دشت کویر ایران با تکسچر دیفالت مایکروسافت گرفتم میتونی مشاهده کنی

UserPostedImage


این تصویر مش دیفالت شبیه ساز را از این منطقه کویری که تقریبا پستی و بلندی های ناچیزی داره نشون میده

UserPostedImage


این تصویر مش رو با رزولوشن STRM نشون میده.همون طور که میبینی تقریبا هیچ تفاوتی در پستی و بلندی زمین به وجود نیامده

UserPostedImage


این تصویر مش رو با رزولوشن ASTER است. که همانگونه که مشخصه این پستی بلندی های کم رو هم نشون میده و اگر پرواز VFR داشته باشید مجموع این پستی بلندی های ناچیز هم به زیبایی صحنه خیلی کمک میکنه.

علاوه بر این دو مشکل دیگر نیز به وجود میآید و آن این است که در مناطقی که پستی و بلندی های زیادی دارد مثل کوهها، ارتفاع نوک قله ها کم نشان داده میشود و یا ممکنه یک مکان گود به صورت یک تپه بیاد بالا . که این به دلیل اینکه در نقاط مرتفع فضای خالی در اطلاعات وجود داره . متاسفانه برای ایران این فضاهای خالی بسیار است در عکس اول من آنها را با شماره های 4 و 6 نشان داده ام .

مثلا در زیر کوهی را مشاهده میکنی که مش آن همان مش دیفالت مایکروسافت است که حداقل از 152 متر به بالاتر است

UserPostedImage


البته به خاطر اینکه کوه مشخص باشه من از تکسچر دستی استفاده کردم

اما وقتی از مش STRM استفاده میکنم به دلیل مسائلی که در بالا گفتم تصویر به صورت زیر در میآید

UserPostedImage


نقاط نوک تیز کوه صاف و هموار میشه .البته این به این دلیل نیست که رزولوشن SRTM از رزولوشن مش مایکروسافت بالاتره بلکه به خاطره وجود فصاهای خالی در ارتفاعات بالا است .که در بخش دوم آموزشم به این مطلب اشاره کردم

و این تصویر با استفاده از اطلاعات ارتفاع ASTER است

UserPostedImage


شماره های 2 و 3 ناهنجاری های زمین و عدم مسطح بودن سطح آب رو نشون میده .
علاوه بر این تبدیل فابل GIS به BGL ساده و تازه اول کار است و تازه مشکلات ما بعضی جاها مثل فرودگاه و رودخانه و دریا و...آغاز میشود که در بخش سوم آموزش تمام این مسائل رو آدرس میدم

جسارتا من عکسی که شما در انتها گذاشتید رو نمیبینم بنابراین نمیتونم توضیحی بدم احتمالا گالری دچار مشکل شده که به این خاطر من هم نتونستم استفاده کنم .اگه امکانش هست دوباره عکس رو جای دیگه آپلود کنید.
در ضمن هنوز کلی مطلب در مورد مش مونده که هنور نگفتم که در بخش سوم به اون اشاره میکنم .باز هم ممنون از اصلاح تاپیک و عکس ها
Touradg
  • Touradg
  • 100% (عالی)
  • مدیریت شبیه ساز: Prepar3D 5.3
12 سال پیش
سلام
چند مورد به ذهنم اومد که توضیح میدم.
طراحی مش با GIS ها نیست.GIS تکنولوژی هست و نه ایزار طراحی.برای طراحی مش از نرم افزارهایی مثل GRASS GIS استفاده میشه.از طرف دیگر این نرم افزارها نیاز به منبع اطلاعات دارند یعنی اگر شما بخواهی مشی بر اساس سلیقه شخصی (مثلاً برای فیلمهای انیمیشن) طراحی کنی نیازی به منبع معتبر نداری ولی برای شبیه سازی منابع فقط از ابزاری مثل ماهواره ها و... بدست می آیند که هزینه اون سرسام آور هست.همین کافی که مشهایی که الان هست تماماً مربوط به دولتها هستند.

مورد دیگر در خصوص STRM و ASTER اینکه اطلاعات SRTM خام و پردازش نشده هستند که باید با نرم افزارهایی VOID ها گرفته بشوند.اگر این دیتا بصورت پردازش نشده استفاده بشه نتیجه اون آخرین عکس خواهد شد.از طرفی مقدار نویز در آنها نسبت به آستر خیلی کم هست.اون چیزی که شما در ASTER بصورت بافت (شبیه سطح موکت) می بینی چیزی نیست جز نویز و Artifact ایجاد شده در زمان اسکن ماهواره ای.دقت آستر به مراتب کمتر از SRTM هست ، دقت نه از لحاظ وضوح بلکه از لحاظ اطلاعات ارتفاع.
تنها مزیت آستر وضوح (رزولوشن) اندکی بهتر (آنهم نه در همه نقاط) به SRTM هست.

به همین دلیل در اکثر شبیه سازها میان از SRTM پردازش شده استفاده می کنند.
بنابراین استفاده از ASTER حتی در ورژن 2 اون که چند هفته قبل ارائه شد حداقل برای شبیه ساز پرواز از نظر من مناسب نیست.در بعضی از تایلهای دیتا (Data Tile) خطای ارتفاع بیشتر از 20-30 متر هست و این در شبیه ساز یعنی فاجعه.احساسی که من نسبت به آستر دارم این هست که دیتا در اون بیشتر شبیه سازی شده است.

عکس زیر دیتا پردازش شده از SRTM هست:

UserPostedImage 


این عکس از آستر:

UserPostedImage 


طبیعی هست که هر کس ببینه سریع میگه آستر بهتره.ولی اگر خوب دقت کنی و مقایسه پیکسل به پیکس بشه میبینم که اکثر پستی و بلندی ها در آستر Artifact و یا دیتای شبیه سازی شده هست.این اصطلاحاً به Stacking معروف هست.
برای اثبات این موضوع هم کافیه تا از آستر یک QA Stack بگیری تا دستش رو بشه. تمام نقاط سبز و مایل به سبز ناهمگونی ها هستندکه به heterogeneity معروفند:

UserPostedImage 


برای درک بهتر کافی هست تااز بالا به پائین عکس هر جا که رنگ سبز هست یک خط ترسیم کنی به پهنای سبزی و از گراف زیرش به همون مقدار حذف کنی و نتیجه رو با SRTM مقایسه کنی.

تمام اینها رو عرض کردم تا به این نتیجه برسم که در طراحی صحنه و Terrain از اطلاعاتی به غیر از SRTM استفاده نکنید.نتیجه SRTM بسیار دقیقتر هست.بالاخص زمانی که هدف آموزش باشه.

متشکر محسن جان

PC Flight Simulation Geek Since 1998
Touradg
  • Touradg
  • 100% (عالی)
  • مدیریت شبیه ساز: Prepar3D 5.3
12 سال پیش
یک موضوع الان یادم اومد.چند سال قبل شنیدم پروژه ای در وزارت دفاع هست تا با استفاده از ماهواره داخلی توپوگرافی کامل ایران رو با وضوح 10 متر 😮 تهیه کنند.اسم ماهواره یادم نیست ولی کاملاً داخلی بود.
امیدوارم عملیاتی بشه هر چه زودتر تا حداقل بچه های شبیه ساز رو سرحال بیاره.[dance]
PC Flight Simulation Geek Since 1998