Translate to English
Translate to French
Translate to German
Translate to Korean
Поблагодарить автора
Поблагодарить автора

Главное меню
Главная
Гостевая книга
Новости
Астрология и гадания
курсовая работа №1
Чат
Курсовая работа №2
курсовая работа №3
Партнеры
Игра Gold
Архив Дисков
Биография
Статья
Авторизация





Забыли пароль?
Ещё не зарегистрированы? Регистрация
moon
CURRENT MOON
 
     
 
Приложение 1. Программа трансляции таблиц в VRML Версия для печати Отправить на E-mail
27.08.2007 г.
Приложение 1. Программа трансляции таблиц в VRMLFID= fopen('7.WRL','w');          % Открытие файла с именем '7.WRL'. В переменную FID заносится идентификатор файла, который используется для указания на файл в других низкоуровневых функциях. Опция ‘w’обозначает открытие нового двоичного файла для записи.load('G:\VRML\vrmlmatlab\re\LPV-12-118-SPARSE-TE-TI.mat'); % load(‘fname’…) - загрузка файла с матрицей.fprintf(FID,'%s','#VRML V2.0 utf8',10);    % '#VRML V2.0 utf8’строка заголовка, которая сообщает браузеру, что это vrml файл, версии 2.0, кодировкой utf8. Символ # обозначает начало комментария, комментарий будет проигнорирован интерпретатором vrml.fprintf(FID,'%s','WorldInfo{',10);          % Узел WorldInfo” содержит общую информацию о мире, в частности его название.fprintf(FID,'%s',9,'title "Example 7"',10);fprintf(FID,'%s',9,'info ["файл 7 WRL"',10);      % В поле info может находиться произвольное число строк.fprintf(FID,'%s',9,']',10);fprintf(FID,'%s','}',10);fprintf(FID,'%s','Background {',10);       % Узел, задающий фон.fprintf(FID,'%s','skyColor[255, 160, 122 ]',10);   % 'skyColor[]' - задание цвета фона VRML-мира.fprintf(FID,'%s','}',10);A = Center;       % В переменную A заносится матрица Center.for i=1:12,         % Цикл по столбцам.    for j=1:5,       % Цикл по строкам.        disp(num2str (A(i,j)));        % Функция disp реализует вывод текста или значения переменной в комаедное окно. Функция num2str реализует преобразование матрицы в массив символов.fprintf(FID,'%s','PROTO Positioned_box',num2str(i),num2str(j),'[',10);   % Формат %s задаёт чтение строки; соответствующий выходной аргумент является массивом ячеек. PROTO – это узел VRML, реализующий прототипирование (особый способ повторного использования кода).fprintf(FID,'%s','field SFVec3f position 0 0 0',10);          % SFVec3f – это тип данных VRML, содержащий тройку действительных чисел, обозначающих координаты х, у, z.fprintf(FID,'%s',']',10);fprintf(FID,'%s','{ Transform {',10);fprintf(FID,'%s','translation IS position',10);       % Узел translation обозначает перемещение. IS – это зарезервированное слово, которое используется, чтобы поставить в соответствие поля прототипа и поля экземпляра объекта.fprintf(FID,'%s','children [',10)fprintf(FID,'%s','Shape{',10);     % Узел формы.fprintf(FID,'%s',9,'appearance Appearance{',10);                        % Описывается внешний вид фигуры.fprintf(FID,'%s',9,9,'material Material{',10);fprintf(FID,'%s',9,9,'diffuseColor ',num2str((A(i , j)/max(max(A)))),' 0.6 ', ' 2',10); % diffuseColor – это поле узла Material, задающее нормальный цвет объекта в RGB.fprintf(FID,'%s',9,9,'}',10);fprintf(FID,'%s',9,'}',10);fprintf(FID,'%s',9,'geometry Cylinder{',10);        % Описывается форма фигурыцилиндр.fprintf(FID,'%s',9,'radius ',num2str(0.2),10); % radius – радиус, он постоянный.fprintf(FID,'%s',9,'height ',num2str(A(i , j)),10); % height – высота, изменяется в зависимости от значений A(i , j).fprintf(FID,'%s','}',10);fprintf(FID,'%s','}',10);fprintf(FID,'%s',']',10);fprintf(FID,'%s','}',10);fprintf(FID,'%s','}',10);fprintf(FID,'%s','#use it now',10);fprintf(FID,'%s',' Positioned_box',num2str(i),num2str(j) ,'{',10);  % Указание имени объекта (цилиндра).fprintf(FID,'%s',' position ',num2str(i),' ',num2str(0+A(i , j)),' ',num2str(j),10);      % Указание позиции цилиндра.fprintf(FID,'%s',' }',10);     end;    % Конец цикла j.end;      % Конец цикла i.fclose(FID); % Закрытие файла. 
 
« Пред.   След. »

 

 
 
 
AlfaInternet.Su - сервис автоматической регистрации сайта в каталогах реклама сайтов.