VRML

VRMLكه به صورت <V-R-M-L> يا <Vermal> تلفظ مي شود، كلمه اي اختصاري براي Virtual Reality Modeling Language است  .همان طور كه حدس مي زنيد، VRML چيزي شبيه HTML يا همان <Hyper Text Markup Language> است  .
 HTMLبراي طراحي يك صفحه دو بعدي و VRML براي ساخت صحنه هاي سه بعدي كه اصطلاحا به آنها Virtual World گفته مي شود، به كار مي رود .دقت كنيد كه نتيجه اجراي فايل هاي HTML يك محيط دو بعدي است كه اصطلاح صفحه را براي آن به كار برديم ، ولي اجراي فايل هاي VRML توسط مرورگر، يك فضاي سه بعدي را مي سازد كه اصطلاح صحنه <Scene> را برايش به كار گرفتيم .
 VRMLبه نحوي توسعه داده شده كه به HTML وابسته نباشد، با اين حال در VRML نيز از همان پروتكل ها براي انتقال فايل از طريق اينترنت استفاده شده  است  .بنابراين هر چيز كه در مورد اينترنت و وب آموخته ايد، در VRML هم كاربرد خواهد داشت  .شما مي توانيد فايل هاي ساخته شده توسط VRML را با مرورگرهاي VRML يا مرورگرهاي معمولي HTML مثل Internet Explorer 4 به بالا مشاهده كنيد .آدرس (URL) فايل هاي VRML شبيه فايل هاي HTML به نظر مي رسند، با اين تفاوت كه پسوند فايل هاي HTML به صورت .html و .htm است، در حالي كه در فايل هاي (World files) VRML از پسوندهاي.flr ، .wrz و .wrl استفاده مي شود.فايل هاي VRML فقط  محتوي متن هستند، با اين حال پس از خوانده شدن توسط مرورگرها، يك محيط كاملا گرافيكي را مي سازند.
مهمترين نقش VRML1 اين است كه مشخص كند چگونه يك صحنه سه بعدي در دنياي مجازي ساخته شود. هدف اين بود كه راه حلي آسان مثل HTML براي اين كار ارائه شود كه قابليت توسعه نيز داشته باشد .بر همين اساس ،VRML 1.0 فقط قابليتها و دستورات پايه اي براي پيوند دادن اشياي دنياي مجازي به صحنه ها را شامل مي شد .اگر بخواهيم تخصصي تر بگوييم ،VRML يك زبان صحنه پردازي  است  .
تفاوت VRML با  HTML در اين است كه مي تواند به مرورگر دستوراتي را در مورد محل قرار گيري اشياء سه بعدي و رنگ آنها بدهد و به طور اساسي اين امكان را فراهم مي كند تا مرورگر نقطه ها را به هم متصل كند.در حالي كه HTML فقط گونه هاي ساده متن و تصاوير از پيش ساخته شده را براي ساخت يك صفحه دو بعدي در كنار هم قرار مي دهد .

 VRMLچه نوع زباني است
VRML نه يك زبان برنامه نويسي همه منظوره مثل  C++ و نه زبان اسكريپت مثل جاوا اسكريپت و نه يك زبان تعريف صفحه مثل HTML است  .همان طور كه قبلا نيز اشاره كردم ، VRML يك زبان صحنه پردازي  است كه هندسه و رفتار يك صحنه سه بعدي كه اصطلاحا به آن <World> گفته مي شود را معين مي كند .
چه تفاوتهايي بينVRML1 ، VRML2 است ‚ به طور خلاصه صحنه هاي ساخته شده توسطVRML1 ،  ايستا هستند كه  اصطلاحا به آنها <Static World> گفته مي شود، در حالي كه در VRML2 قابليت حركت و نيز ارتباط با كاربر <Intractive World> گنجانده شده است. ويژگيها و خصوصيات هر يك از اين نسخه ها، به شرح زير است :

خصوصياتVRML 1.0 
• اشياي استاندارد مكعب ، كره ، مخروط، استوانه ، متن
• اشياي اختياري سطوح ، مجموعه خطوط، نشانگرها
• قابليتهايfly through ،walk  through ،examine scenes 
• نورپردازي 
• دوربين ها ديد از زواياي مختلف 
• قرار دادن بافت (texture) روي اشياء
• كليك روي پيوندها
• تعريف و استفاده مجدد از اشياء

 


 VRML 2.0علاوه بر خصوصيات VRML 1.0 ويژگيهاي زير را نيز داراست :
• اشياي متحرك 
• سويچ ها
• سنسورها
• اسكريپت ها جاوا يا جاوا اسكريپت
• درج شونده ها رنگ ، مكان ، جهت و... 
• رنگ و بافت زمينه 
• صوت فايل هاي WAV وMIDI 
• بافت هاي متحرك 
• Event  routing 
• تعريف و استفاده مجدد از اشياء و رفتارها (behaviors) و تاثيرپذيري و اضافه كردن گره هاي جديد به زبان ، با استفاده از PROTO وEXTERNPROTO 
مهمترين تفاوت بين اين دو نسخه اين است كه VRML 2.0 تعريف دقيق و پذيرفته شده براي كل دنيا دارد كه توسط موسسه جهاني استاندارد به تصويب رسيده است ، (ISO/IEC-14772-1:1997) در حالي كه VRML 1.0 اين گونه نيست  .
اولين خط هر فايل VRML 2.0 با عبارت زير شروع مي شود:
#VRML V2.0 UTF8
ولي اولين خط هر فايل VRML 1.0 با عبارت زير شروع مي شود:
#VRML V 1.0 ascii
بيشتر مرورگرهاي VRML 2.0 مي توانند فايل هاي  VRML 1.0 را نيز خوانده و رندر كنند ولي هيچ كدام از مرورگرهاي مخصوص VRML 1.0 نمي توانند فايل هاي VRML 2.0 را بخوانند .

اجزاء اساسي يك فايلVRML 
در اين قسمت به طور خيلي خلاصه به بررسي مفاهيم پايه اي برنامه نويسي VRML مي پردازيم و بدين منظور VRML 1.0 را مورد بررسي قرار مي دهيم  .همه فايل هاي VRML با يك هدر شروع مي شوند كه براي VRML 1.0 به صورت زير است  :
#VRML V 1.0 ascii
كه فايل را براي خوانده شدن و اجرا به مرورگر معرفي مي كند .اجزاء يا اشياي پايه اي VRML را گره <node> مي نامند .سه نوع گره وجود دارد <shape nodes> :كه هندسه اشياء را مشخص مي كند،  <property nodes> كه چگونگي ترسيم شدن يك شي ء را مشخص مي كند و <Grouping nodes> كه به كمك آنها مي توانيم گروهي از اشياء را به عنوان يك شي ء جديد تعريف كنيم  .گره هاي مختلف پس از مرتب شدن در كنار هم يك گراف صحنه <Scene graph> را تشكيل مي دهند كه آنها نيز يك VRML World يا همان صحنه را مي سازند.
shape nodes
VRML 1 چهار  نوع شكل از پيش تعريف شده را  پشتيباني مي كند :مكعب ، مخروط ، استوانه و كره .
Property nodes
يكي از مهمترين آنها، Material node است كه رنگ و ظاهر يك شي ء را مشخص مي كند .رنگها بر طبق استاندارد RGB تعريف مي شوند .
Grouping nodes
مهمترين نوع از اين گره ها، گره Separator است كه موجب مي شود مجموعه اي از گره ها را بتوان به صورت يك گره واحد در نظر گرفت  .
با استفاده از اين اجزاء مي توان برنامه ساده زير را نوشت: 
#VRML V 1.0 ascii
Separator{ 
Separator{ 
              Material{  
emissiveColor 100{   
            Sphere{}  
{
{
 VRMLحداقل 36 گره مختلف را شامل مي شود كه هر كدام از آنها نيز بحثها و مثالهاي مخصوص به خود را دارند .
به نظر من مهم اين است كه ابتدا قابليتهاي VRML را ببينيم و اگر واقعا آن را توانا يافتيم ، به دنبال يادگيري آن برويم  .

 

0 نظرات:

ارسال یک نظر