Базовые приемы
Примеры работы функций языка программирования
Расположение
\SimInTech\Demo\Визуализация и анимация\3D-визуализация\Базовые приемы
Описание
Примеры демонстрируют работу с функциями языка программирования, позволяющими производить различные операции с модулем 3D-визуализации.
В таблице приведено описание примеров, применяемые в примере функции и их назначение.
Выполнение каждого демо примера начинается с создания окна 3D визуализации:
ID = CreateEngine(101, "Визуализация 3D");
ShowEngineByID(ID);
Функции выполняют создание окна 3D-визуализации. Функции используются в секции инициализации. ID - идентификатор созданного окна визуализации.
| Название демо | Описание демо | Применяемые функции | Описание функций |
|---|---|---|---|
| Видимость 3D-объекта | Пример демонстрирует работу флага видимости 3D-объекта. См. скрипт проекта. | OId = Viewer3DPlotObject(ID, pID, GeomType, Pos, Geom,
FileName) |
Функция выполняет создание объекта заданной геометрии. |
Viewer3DSetObjectVisibility(ID, OId, Flag) |
Функция управляет видимостью 3D-объекта OId в окне ID согласно заданному аргументу Flag. (Flag=0 - объект не виден, Flag=1 - объект виден). | ||
| Видимость горизонтальной координатной сетки | Пример демонстрирует работу флага видимости горизонтальной координатной сетки. | Viewer3DSetGridVisibility(ID, Flag) |
Функция задания видимости сетки на плоскости Y=0. Flag - флаг видимости сетки (Flag=True - сетка видна, Flag=False - сетка не видна). |
| Видимость нодализационной сетки | Пример демонстрирует работу флага видимости нодализационной сетки для 3D-объектов. | OId = Viewer3DPlotObject(ID, pID, GeomType, Pos, Geom,
FileName) |
Функция выполняет создание объекта заданной геометрии. |
Viewer3DSetNodeGridVisibility (ID, Flag) |
Функция задания видимости нодализационной сетки 3D-примитивов. Flag - флаг видимости сетки (Flag=True - сетка видна, Flag=False - сетка не видна). | ||
| Видимость осей ГСК | Пример демонстрирует работу флага видимости осей ГСК. | Viewer3DSetAxesVisibility(ID, Flag) |
Функция задания видимости осей ГСК. Flag - флаг видимости осей (Flag=True - оси видны, Flag=False - оси не видны). |
| Видимость осей ЛСК 3D объекта | Пример демонстрирует работу флага видимости осей ЛСК, связанной с 3D-объектом. | OId = Viewer3DPlotObject(ID, pID, GeomType, Pos, Geom,
FileName) |
Функция выполняет создание объекта заданной геометрии. |
Viewer3DSetLCSPosition(ID, OId, X, Y, Z) |
Функция задания координат локальной системы координат 3D-объекта. | ||
Viewer3DShowObjectAxes(ID, OId, Flag) |
Функция задания видимости осей локальной системы координат 3D-примитива в окне. Flag - флаг видимости осей (Flag=True - оси видны, Flag=False - оси не видны). | ||
| Вывод текстовой информации на окно 3D визуализации | Пример демонстрирует возможность вывода произвольной текстовой информации на окно 3D-визуализации. Размеры задаются в количестве пикселей. | TId = Viewer3DPlotTextLabel(ID, Text, Left, Top, FontSize,
FontColor) |
Функция создания надписи (текстового label) на окне. |
Viewer3DSetTextLabel(ID, TId, Text) |
Функция установки текста для надписи. Text - текст для отображения, задается в кавычках либо в виде переменной типа string. | ||
| Задание геометрии 3D объекта в динамике | Пример демонстрирует изменение геометрии заданное на этапе инициализации 3D объекта в процессе расчета | OId = Viewer3DPlotObject(ID, pID, GeomType, Pos, Geom,
FileName) |
Функция выполняет создание объекта заданной геометрии. |
Viewer3DSetObjectGeom(ID, OId, Geom) |
Функция задает геометрию D объекта. | ||
| Задание имени 3D-объекта | На этапе инициализации выполняется задание имени для созданного 3D-объекта. Имена отображаются в дереве объектов. | OId = Viewer3DPlotObject(ID, pID, GeomType, Pos, Geom,
FileName) |
Функция выполняет создание объекта заданной геометрии. |
Viewer3DSetObjectName(Id, OId, Name) |
Функция задает новое имя Name 3D объекта. | ||
| Задание координат камеры | Пример демонстрирует изменение координат базовой точки камеры в динамике по закону: [0, sin(time), 0], где time - текущее модельное время. | OId = Viewer3DPlotObject(ID, pID, GeomType, Pos, Geom,
FileName) |
Функция выполняет создание объекта заданной геометрии. |
Viewer3DSetCameraPosition(ID, X, Y, Z) |
Функция устанавливает координаты базовой точки камеры. | ||
| Задание координат ЛСК 3D-объекта в динамике | В процессе расчета координаты ЛСК, связанной с созданным 3D-объектом, и, следовательно, положение самого 3D-объекта относительно ГСК меняются по закону: [0, sin(time), 0], где time - текущее модельное время. | OId = Viewer3DPlotObject(ID, pID, GeomType, Pos, Geom,
FileName) |
Функция выполняет создание объекта заданной геометрии. |
Viewer3DSetLCSPosition(ID, OId, X, Y, Z) |
Функция задания координат локальной системы координат 3D-объекта. | ||
| Задание ориентации осей ГСК | Пример демонстрирует задание ориентации осей ГСК. | Viewer3DSetGlobalTopAxis(ID, Flag) |
Функция задания ориентации осей глобальной системы координат. |
| Задание положения 3D-объекта в ЛСК в динамике | В процессе расчета положение 3D-объекта в ЛСК меняется по закону: [0, sin(time), 0], где time - текущее модельное время. | OId = Viewer3DPlotObject(ID, pID, GeomType, Pos, Geom,
FileName) |
Функция выполняет создание объекта заданной геометрии. |
Viewer3DSetObjectPosition(ID, OId, Pos) |
Функция задания положения 3D-объекта в его локальной системе координат. | ||
| Задание углов Эйлера ЛСК 3D-объекта в динамике | В процессе расчета углы Эйлера ЛСК, связанной с созданным 3D-объектом, и, следовательно, углы Эйлера самого 3D-объекта меняются по закону: [90*sin(time), 90*sin(time), 0], где time - текущее модельное время. | OId = Viewer3DPlotObject(ID, pID, GeomType, Pos, Geom,
FileName) |
Функция выполняет создание объекта заданной геометрии. |
Viewer3DShowObjectAxes(ID, OId, Flag) |
Функция задания видимости осей локальной системы координат 3D-примитива в окне. Flag - флаг видимости осей (Flag=True - оси видны, Flag=False - оси не видны). | ||
Viewer3DSetLCSAngles(ID, OId, Prec, Nut, OwnRot) |
Функция задания углов Эйлера локальной системы координат 3D-объекта. | ||
| Задание цели камеры | Пример демонстрирует возможность задания 3D-объекта в качестве цели камеры. | OId = Viewer3DPlotObject(ID, pID, GeomType, Pos, Geom,
FileName) |
Функция выполняет создание объекта заданной геометрии. |
Viewer3DSetCameraTarget(Id, OId) |
Функция задания 3D-объекта в качестве цели камеры. | ||
Viewer3DSetLCSPosition(ID, OId, X, Y, Z) |
Функция задания координат локальной системы координат 3D-объекта. | ||
| Массовое удаление 3D-объектов | На этапе инициализации выполняется рендеринг сфер радиусом 1 м в точке (0,0,0) для всех существующих окон 3D-визуализации. На этапе финализации все 3D-объекты, созданные из скрипта, уничтожаются. | ID = Viewer3DGetWindowList |
Функция получения идентификаторов всех существующих окон 3D-визуализации. |
OId = Viewer3DPlotObject(ID, pID, GeomType, Pos, Geom,
FileName) |
Функция выполняет создание объекта заданной геометрии. | ||
Viewer3DRemoveScriptObjects(ID) |
Функция удаления всех созданных из скрипта 3D-объектов в окне. | ||
| Масштабирование 3D-объекта | В процессе расчета выполняется масштабирование 3D-объекта относительно собственных координатных осей по следующему закону: [50+40*sin(time), 50+40*sin(time), 50+40*sin(time)], где time - текущее модельное время. | OId = Viewer3DPlotObject(ID, pID, GeomType, Pos, Geom,
FileName) |
Функция выполняет создание объекта заданной геометрии. |
Viewer3DSetObjectScale(ID, OId, Xscale, Yscale,
Zscale) |
Функция выполняет масштабирование 3D-объекта согласно заданному по осям масштабу в процентах. | ||
| Получение Id окон 3D-визуализации | При помощи функции Viewer3DGetWindowList находится массив ID всех существующих окон 3D-визуализации. | ID = Viewer3DGetWindowList |
Функция позволяет получить ID всех существующих окон, функция возвращает массив идентификаторов всех окон. |
| Рендеринг 3D-объекта из файла | На этапе инициализации выполняется рендеринг 3D-объекта из файла. При этом начало локальной системы координат, связанной с 3D-объектом, находится в точке (0,0,0). | OId = Viewer3DPlotObject(ID, pID, GeomType, Pos, Geom,
FileName) |
Функция выполняет создание объекта заданной геометрии. Прим.: список поддерживаемых форматов 3D: *.glsm, *.obj, *.objf, *.stl, *.lwo, *.q3bsp, *.bsp, *.oct, *.ms3d, *.nmf, *.md3, *.3ds, *.prj, *.md2, *.smd, *.ply, *.gts, *.wrl, *.md5mesh, *.md5anim, *.tin, *.dxf, *.grd. |
| Рендеринг параллелепипеда | На этапе инициализации выполняется рендеринг 3D-примитива параллелепипеда. При этом начало локальной системы координат, связанной с 3D-объектом, находится в точке (0,-1,-1). | OId = Viewer3DPlotObject(ID, pID, GeomType, Pos, Geom,
FileName) |
Функция выполняет создание объекта заданной геометрии. |
| Рендеринг сферы | На этапе инициализации выполняется рендеринг 3D-примитива сферы радиусом 1 м. При этом начало локальной системы координат, связанной с 3D-объектом, находится в точке (0,0,0). | OId = Viewer3DPlotObject(ID, pID, GeomType, Pos, Geom,
FileName) |
Функция выполняет создание объекта заданной геометрии. |
| Рендеринг усеченного конуса | На этапе инициализации выполняется рендеринг 3D-примитива усеченного конуса. При этом начало локальной системы координат, связанной с 3D-объектом, находится в точке (0,0,0). | OId = Viewer3DPlotObject(ID, pID, GeomType, Pos, Geom,
FileName) |
Функция выполняет создание объекта заданной геометрии. |
| Рендеринг цилиндра | На этапе инициализации выполняется рендеринг 3D-примитива цилиндра. При этом начало локальной системы координат, связанной с 3D-объектом, находится в точке (0,0,0). | OId = Viewer3DPlotObject(ID, pID, GeomType, Pos, Geom,
FileName) |
Функция выполняет создание объекта заданной геометрии. |
| Создание окна 3D визуализации из скрипта | На этапе инициализации создается новое окно 3D-визуализации. | ID = CreateEngine(EngineIndex, Category)
|
Функция добавления устройства в менеджер данных. |
ShowEngineByID(ID) |
Функция открывает окно устройства по его идентификатору. | ||
| Степень прозрачности 3D-объекта | Пример демонстрирует возможность задания степени прозрачности 3D-объекта. | OId = Viewer3DPlotObject(ID, pID, GeomType, Pos, Geom,
FileName) |
Функция выполняет создание объекта заданной геометрии. |
Viewer3DSetObjectTransparency(ID, OId, tr) |
Функция управляет степенью прозрачности 3D-объекта в окне согласно заданному значению tr. | ||
| Текстура 3D-объекта | Пример демонстрирует возможность задания цвета 3D-объекта. | OId = Viewer3DPlotObject(ID, pID, GeomType, Pos, Geom,
FileName) |
Функция выполняет создание объекта заданной геометрии. |
Viewer3DSetObjectTexture(ID, OId, FilePath) |
Функция наложения текстуры из файла, расположенного по пути FilePath на 3D-объект. | ||
| Удаление 3D-объекта | На этапе инициализации выполняется рендеринг сфер радиусом 1 м в точке (0,0,0) для всех существующих окон 3D-визуализации. На этапе финализации 3D-объект, созданный из скрипта, уничтожается. | ID = Viewer3DGetWindowList |
Функция получения идентификаторов всех существующих окон 3D-визуализации. |
OId = Viewer3DPlotObject(ID, pID, GeomType, Pos, Geom,
FileName) |
Функция выполняет создание объекта заданной геометрии. | ||
Viewer3DRemoveObject(ID, OId) |
Функция выполняет удаление объекта созданного из скрипта, с идентификатором OId. | ||
| Уничтожение окна 3D визуализации из скрипта | На этапе инициализации создается новое окно 3D-визуализации. На финализации оно уничтожается. | DestroyEngineByID(E) |
Функция выполняет полное уничтожение окна 3D-визуализации. |
| Установка положения окна | Пример демонстрирует возможность установки положения окна 3D-визуализации. Величины отступов задаются в количестве пикселей. | Viewer3DSetWindowPosition(ID, L, T) |
Функция устанавливается положение окна относительно левой верхней точки экрана. L - отступ слева в пикселях, T - отступ сверху. |
| Установка размеров окна | Пример демонстрирует возможность установки размеров окна 3D-визуализации. Размеры задаются в количестве пикселей. | Viewer3DSetWindowSize(ID, W, H) |
Функция выполняет установку размеров окна 3D-визуализации, где W - ширина окна, H - высота. |
| Цвет 3D-объекта | Пример демонстрирует возможность задания цвета 3D-объекта. | OId = Viewer3DPlotObject(ID, pID, GeomType, Pos, Geom,
FileName) |
Функция выполняет создание объекта заданной геометрии. |
Viewer3DSetObjectColor(ID, OId, Color) |
Функция устанавливает цвет объекта. Значение аргумента Color может быть получено при помощи функции RBGToColor. | ||
| Цвет фона | Пример демонстрирует возможность динамического задания цвета фона 3D-модели. | Viewer3DSetBackground(ID, Color) |
Функция устанавливает цвет фона. Значение аргумента Color может быть получено при помощи функции RBGToColor. |