اولين بار در 1910 واقعيت مجازي براي پنوماتيك و حركت هواپيما و آموزش خلبانان به كاربرده شد كه ارزان و ايمن بود. در دهه 50 فكر فريب حواس در فيلمها، روي پرده بزرگ و صداي استريو با دستگاهي به نام سينه راما به كار رفت كه نوعي سيستم پخش تصوير روي پرده عريض بود كه در آن تصوير ميدان ديد تماشاگر را پر ميكرد و تركيب آن با صداي استريو اين حس را ايجاد ميكرد كه شخص واقعا در صحنه حضور دارد. در اواخر دهه 60 طرح دنياي مجازي تحت كنترل كامپيوتر بررسي شد. واقعيت مصنوعي دستگاهي بود كه مايرون كروگر آن را ساخت. با اين دستگاه، حركات و حالتهاي بدن شما در حالي كه در اتاق حركت ميكنيد تصاوير روي نمايش گر ويديويي را تغيير ميدهد؛ يعني تصاوير ويديويي زنده، همراه با صحنههايي كه توسط كامپيوتر توليد شده را ميبينيد. ايوان ساترلند در دهه 70 گرافيكهاي سهبعدي شبكه سيمي را ساخت كه در اولين شبيه سازي كامپیوترهاي توليد شده به كار گرفته شد.
VRML زبان مدل سازي واقعيت مجازي
VRML كه به صورت V-R-M-L يا Vermeil تلفظ ميشود، كلمه اي اختصاري براي Virtual Reality Modeling Language يا زبان مدل سازي واقعيت مجازي است. اين زبان در مي1994 توسط مارك بسكي، تن پاريسي و گاوين بل نوشته شد. آن ها در انجمن حرفهاي گرافيك كامپيوتري خود براي ايجاد يك برنامه جلوه ويژه براي دنياي انيميشن سه بعدي تعاملي در وب فعاليت ميكردند و موتور محرك اين كار زبان VRML بود .
واقعيت مجازي را اولين بار در 1989 يارون لانير به كار برد. پس از آن مايرون كروگر در 1970 هوش مصنوعي را به آن افزود و گيبسون در 1984 فضاي سايبر را معرفي كرد. در 1990 واژه دنياي مجازي يا محيط مجازي كاربرد بيشتري پيدا كرد و به كليه فضاهاي سه بعدي كامپيوتري اطلاق شد.
زبان VRML به اين دليل طرِاحي شد تا بتوان با فايلهاي بسيار كم حجم، صحنههاي سه بعدي طراحي شده در VR را مستند كرده و آنها را روي شبكه اينترنت (كه در حال حاضر از محدوديت پهناي باند رنج ميبرد) ارسال كرد. در حقيقت VRML مشخصات لازم جهت تفسير و نمايش اشياء هر صحنه VR را مدل سازي ميكند. پس از انتقال فايل روي شبكه و دريافت آن توسط ماشين كاربر، فايل تفسير شده و نمايش داده خواهد شد.
استاندارد قبلي VRML 0.1، VRML بود كه با استفاده از آن تنها ميشد مناظر ايستا ايجاد كرد. هم اكنون اين استاندارد به فراموشي سپرده شده و جاي خود را به استاندارد جديد VRML 97 داده كه در مرحله طراحي با نام2,0 VRML شناخته شده است. 79 VRML بسيار پيچيده تر از 1,0 VRML است. صوت، تعامل اشياء با يكديگر و حركت شيء ميان اشياء ديگر از مزاياي آن نسبت به 1,0 VRML به شمار ميرود. نسخه آينده VRML امكان چندكاربري را فراهم ميسازد كه بهعنوان مثال در نوعي تكنولوژي استاندارد چند كاربري و محاوره اي كاربرد خواهد داشت.
كاربرد محيطهاي خلق شده توسط VRML
بيشترين كاربردهاي واقعيت مجازي در يكي از اين سه مقوله جاي ميگيرد
شبيه سازي؛ دنياهاي مجازي برگردانهاي دنياي واقعي اند، مانند شبيه سازي پرواز يا رانندگي در محيطهاي مختلف مثل محيط فيزيكي فضايي و تجسم ؛ به معناي مجسم كردن، قابل مشاهده ساختن بهخصوص در ذهن. دنياهاي مجازي با نشان دادن اطلاعات به صورت تصاوير سه بعدي كمك ميكنند كه اين اطلاعات آسان تر فهميده شوند. مثل تجسمهاي مجازي از فعاليتهاي پزشكي، نظامي و آموزشي
واقع گريزي؛ به معناي تمايل به خلاصي از واقعيت دنياهاي مجازي كه با تخيل خلق ميشوند، شبيه بازيهاي ماجرايي.
مهمترين كاربرد واقعيت مجازي در آموزش، تجارت الكترونيكي، پژوهشهاي تجربي، عملي و آزمايشگاهي، معماري و توليد صنعتي است. علاوه بر اين، فروشگاهها و دانشگاههاي مجازي، شبيه سازي حركت وسايل نقليه و آموزش رانندگي، خلباني؛ شبيه سازي انواع ورزش، جراحي از راه دور، كتابخانه و مراكز اطلاعاتي، بازيهاي واقعيت مجازي چند نفره و ابزارهاي سرگرميمجازي از ديگر كاربردهاي آن است.
VRML در مقايسه با HTML
VRML چيزي شبيه HTML است. برخي آن را HTML سه بعدي دانسته اند، استاندارد جديدي براي توصيف دنيا و اشياء سه بعدي است. خوشبختانه از ابتداي كار اين زبان استاندارد بود. اين زبان به عنوان يك تكنولوژي براي نمايش گرافيك سه بعدي مورد پذيرش قرار گرفته است، زيرا راه قابل دسترس و راحت براي دنياي تعاملي است.
VRML در حقيقت يك زبان پويانمايي تعاملي است و اجازه ميدهد طراحان صفحات وب با آن فضاي سه بعدي بسازند و اشياء سه بعدي در وب را ببينند VRML يك ابر فضاي سه بعدي را پديد ميآورد كه با فشردن كليدهاي روي كامپيوتر ميتوان در اين جهان سه بعدي به هر سو رفت. در ارتباطات با سرعت كم قادر است كار كند و به خوبي download ميشود و كدهايش بهراحتي به ويندوز و Linux منتقل ميشود.
HTML براي طراحي يك صفحه دو بعدي و VRML براي ساخت صحنههاي سه بعدي كه اصطلاحا به آنها Virtual World گفته ميشود، به كار ميرود. نتيجه اجراي فايلهاي HTML يك محيط دو بعدي با اصطلاح صفحه Page است، ولي اجراي فايلهاي VRML توسط مرورگر، يك فضاي سه بعدي را ميسازد كه اصطلاح صحنه Scene را برايش به كار بردهاند.
VRML به نحوي توسعه داده شده كه به HTML وابسته نباشد، با اين حال در VRML نيز از همان پروتكلها براي انتقال فايل از طريق اينترنت استفاده شده است .بنابراين هر چيز كه در مورد اينترنت و وب آموخته ايد، در VRML هم كاربرد خواهد داشت .شما ميتوانيد فايلهاي ساخته شده توسط VRML را با مرورگرهاي VRML يا مرورگرهاي معمولي HTML مثل 5 Internet Explorer به بالا مشاهده كنيد.
آدرس (URL) فايلهاي VRML شبيه فايلهاي HTML به نظر ميرسد، با اين تفاوت كه پسوند فايلهاي HTML به صورت html. و htm. است، در حالي كه در فايلهاي World files) VRML) از پسوندهايflr , .wrz. و wrl. استفاده ميشود.فايلهاي VRML فقط حاوي متن هستند، با اين حال پس از خوانده شدن توسط مرورگرها، يك محيط كاملا گرافيكي را ميسازند.
مهمترين وظيفه VRML اين است كه مشخص كند چگونه يك صحنه سه بعدي در دنياي مجازي ساخته شود. اگر بخواهيم تخصصيتر بگوييم ،VRML يك زبان صحنه پردازي است.
تفاوت ديگر VRML با HTML در اين است كه ميتواند به مرورگر دستوراتي را در مورد محل قرار گيري اشياء سه بعدي و رنگ آنها بدهد و بهطور اساسي اين امكان را فراهم ميكند تا مرورگر نقطهها را به هم متصل كند. در حالي كه HTML فقط گونههاي ساده متن و تصاوير از پيش ساخته شده را براي ساخت يك صفحه دو بعدي در كنار هم قرار ميدهد.
برنامه سازي VRML
با توجه به گستردگي مباحث مربوط به زبان مدلسازي حقيقت مجازي در اين نوشتار تنها به طور اجمالي به شرح نحوه طراحي صحنههاي VRML در نسخه دوم اين زبان ميپردازيم . علاوه بر آن مبناي كار را بر VRML ايستا ميگذاريم.
به ياد داشته باشيد كه VRML يك زبان حساس به متن (Case Sensitive) است و بيتوجه به كوچك يا بزرگ بودن حروف كلمات، ممكن است باعث بروز خطا شود. البته ويرايشگر 21 VrmlPad داراي امكان Auto Complete بوده و تا حد زيادي به نوشتن شما كمك خواهد كرد. توصيه ميكنم از آن براي نوشتن فايلهايتان استفاده كنيد.
VRML حدوداً 8 نوع گره اصلي دارد
1- گرههاي گروه بندي؛ اين گرهها براي ايجاد ساختار سلسله مراتبي ارث بري به كار ميروند و فيلد [...] children در آنها حاوي گرههاي فرزند است.
2- گرههاي خاص؛ كه اطلاعات مربوط به فرزندانشان را از مكاني در WWW ميخوانند.
3- گرههاي معمول؛ كه براي نور، صدا،script ها و ... به كار ميروند.
4-حسگرها؛ اين گرهها وقوع رويدادي را به اطلاع ما ميرسانند. مثلاً حسگرهاي هندسي براساس اعمال كاربر (كليك ماوس، نزديك شدن به يك شيء و ...)، و حسگر زماني با گذشت زمان event توليد ميكنند.
5- گرههاي هندسي؛ براي اينكه اين گرهها توسط كاربر قابل ديدن باشند، بايد درون يك گره Shape نوشته شوند. همچنين درون فيلد geometry گره Shape تنها يك گره هندسي ميتواند قرار گيرد.
6- ظاهر يا Appearance ؛اين گره ويژگيهاي بصري شكلها را به وسيله گرههاي Material و Texture تعيين ميكند.
7- درج كنندهها يا Interpolators ؛كه براي طراحي انيميشن به كار ميروند.
8- گرههاي Bindable
اشكال ساده هندسي
به طور پيش فرض، همه اشكال هندسي در مبدا مختصات و با يك اندازه استاندارد ترسيم ميشوند. براي اينكه مكان آنها را تغيير دهيم، از گره Transform و فيلد translation داخلش استفاده ميكنيم. همچنين براي تعيين ابعاد شكل از واحد متر (مانند دنياي واقعي) با دقت اعشاري استفاده ميكنيم.