Проект по VRML на Деян Йосифов

Задание

Заданието на проекта е да се моделира и анимира със средствата на VRML следната фигурка от сайта на лего:

Cross Bow - ID 4617248

Проектно решение

За да генерирам по-лесно крайния VRML файл следвах следните стъпки:

  1. Условно разделих желаната геометрия на 12 части, които бих могъл да измоделирам лесно с езика VRML. Тези части ще бъдат съответно 10 екструзии и 2 сфери.
  2. Първоначално построих желаната геометрия в Google Sketch Up. Крайният резултат може да бъде свален от този линк към Cross Bow.skp
  3. След това написах един plug-in за Sketch up. С негова помощ, селектирайки лице и линия, експортвам 3д координатите на точките за face и spine за всеки един Extrusion VRML обект. Кодът на въпросния плъгин може да бъде видян на този линк към vrml helper Sketch Up Plugin. Експортнатите файлове на всяка една от 10те екструзии от геометрията на арбалета могат да се видят на този линк към геометриите в моето Github repository.
  4. За да не се налага при всяка малка корекция, която правя, да пренаписвам целия VRML ръчно написах една малка C# библиотека, която позволява лесното създаване на целия VRML. Именно тази библиотека е и мястото, където правя сметките за превръщането на 3д коодинатите на лицата на екструзиите в 2д координати, както е спецификацията за задаване на VRML extrusion crossSection. Тези изчисления се намират в класа Extrusion, който може да бъде видян на този линк към Extrusion.cs в моето Github repository. Целия проект на може да бъде видян на този линк към VRML библиотеката в моето Github repository.
  5. Последната стъпка от генерирането на VRML съдържанието беше да направя един отделен C# проект, който да използва моята VRML библиотека. Този проект може да бъде видян на следния линк към CrossBowCreator проекта, чиято основна цел е да генерира конкретното съдържание на геометрията на арбалета, използвайки моята VRML библиотека и експортнатите екструзии от моят Sketch Up Ruby plugin. При стартиране на това конзолно приложение се стартира Main метода във файла Program.cs, който в общи линии създава една инстанция на CrossBowDocument класа, експортва файл с име CrossBow-DeyanYosifov-M24906.wrl файл и го отваря веднага след експорта. Така бързо и лесно могат да се правят промени по кода и да се проверява крайния резултат.

Краен резултат

За да видите успешно крайния резултат по-долу трябва да имате инсталиран Cortona Plug-in и да използвате Internet Explorer. Повече информация за този плъгин и за това как се използва VRML може да намерите и на сайта на проф. Владимир Димитров.

Мисля, че се получи сравнително добре :). Самият VRML файл може да го свалите и локално ползвайки този линк към CrossBow-DeyanYosifov-M24906.wrl.