Инструменты пользователя

Инструменты сайта


developers:references:tlc:dictionary:3d_model_modify:start

Преобразование 3D-тел


Раздел на модерации

Функция v-quality

Описание
Изменение детализации 3D-тел
Возвращаемое значение
3D-тело
Синтаксис
(v-quality quality bodies)
(v-quality quality body_1 body_2 ... body_N)
Аргумент Тип Описание
quality Вещественное Степень детализации в диапазоне 0.01 - 1.00
bodies Перечисление 3D-тел Изменяемые 3D-тела
body_# 3D-тело Изменяемое 3D-тело
Пример
(let
  (
    ; Список 3D-тел
    (bodies (list
             (v-extrude (v-profile-round 0.4) (vec 0 0 3))
             (v-extrude (v-profile-round 0.4) (vec 0 1 0))
            ))
  )
  ; 3D-тело с изменённой детализацией
  (v-quality 0.1 bodies)
)
 
; или
 
(let
  (
    ; 3D-тело
    (body1 (v-extrude (v-profile-round 0.4) (vec 0 0 3)))
    ; 3D-тело
    (body2 (v-extrude (v-profile-round 0.4) (vec 0 1 0)))
  )
  ; 3D-тело с изменённой детализацией
  (v-quality 0.1 body1 body2)
)

Функция v-translate

Описание
Перемещение 3D-тел
Возвращаемое значение
3D-тело
Синтаксис
(v-translate offset bodies)
(v-translate offset body_1 body_2 ... body_N)
Аргумент Тип Описание
offset 3D-вектор Вектор смещения
bodies Перечисление 3D-тел Изменяемые 3D-тела
body_# 3D-тело Изменяемое 3D-тело
Пример
(let
  (
    ; Список 3D-тел
    (bodies (list
             (v-extrude (v-profile-round 0.4) (vec 0 0 3))
             (v-extrude (v-profile-round 0.4) (vec 0 1 0))
            ))
  )
  ; Перемещённое 3D-тело
  (v-translate (vec 10.0 0.0) bodies)
)
 
; или
 
(let
  (
    ; 3D-тело
    (body1 (v-extrude (v-profile-round 0.4) (vec 0 0 3)))
    ; 3D-тело
    (body2 (v-extrude (v-profile-round 0.4) (vec 0 1 0)))
  )
  ; Перемещённое 3D-тело
  (v-translate (vec 10.0 0.0) body1 body2)
)

Функция v-scale

Описание
Масштабирование 3D-тел
Возвращаемое значение
3D-тело
Синтаксис
(v-scale scale bodies)
(v-scale scale body_1 body_2 ... body_N)
Аргумент Тип Описание
scale 3D-вектор Вектор масштаба
bodies Перечисление 3D-тел Изменяемые 3D-тела
body_# 3D-тело Изменяемое 3D-тело
Пример
(let
  (
    ; Список 3D-тел
    (bodies (list
             (v-extrude (v-profile-round 0.4) (vec 0 0 3))
             (v-extrude (v-profile-round 0.4) (vec 0 1 0))
            ))
  )
  ; Масштабированное 3D-тело
  (v-scale (vec 2.0 1.0 1.0) bodies)
)
 
; или 
 
(let
  (
    ; 3D-тело
    (body1 (v-extrude (v-profile-round 0.4) (vec 0 0 3)))
    ; 3D-тело
    (body2 (v-extrude (v-profile-round 0.4) (vec 0 1 0)))
  )
  ; Масштабированное 3D-тело
  (v-scale (vec 2.0 1.0 1.0) bodies)
)

Функция v-align

Описание
Изменение положения 3D-тел в пространстве
Возвращаемое значение
3D-тело
Примечание
Если задан аргумент direction, то 3D-тело будет развёрнуто в направлении вектора полученного в результате векторного произведения orientation и direction
Синтаксис
(v-align offset orientation angle bodies)
(v-align offset orientation angle body_1 body_2 ... body_N)
(v-align offset orientation direction bodies)
(v-align offset orientation direction body_1 body_2 ... body_N)
Аргумент Тип Описание
offset 3D-вектор Вектор смещения
orientation 3D-вектор Вектор ориентира
angle Вещественное Угол вращения относительно оси ориентира в градусах
direction 3D-вектор Вектор вращения (см. примечание)
bodies Перечисление 3D-тел Изменяемые 3D-тела
body_# 3D-тело Изменяемое 3D-тело
Пример
(let
  (
    ; Список 3D-тел
    (bodies (list
             (v-extrude (v-profile-round 0.4) (vec 0 0 3))
             (v-extrude (v-profile-round 0.4) (vec 0 1 0))
            ))
  )
  ; 3D-тело с изменённым положением
  (v-align (vec) (vec 1.0 1.0) 45 bodies)
  ; или
  ; (v-align (vec) (vec 1.0 1.0) (vec -1.0 1.0 1.0) bodies)
)
 
; или 
 
(let
  (
    ; 3D-тело
    (body1 (v-extrude (v-profile-round 0.4) (vec 0 0 3)))
    ; 3D-тело
    (body2 (v-extrude (v-profile-round 0.4) (vec 0 1 0)))
  )
  ; 3D-тело с изменённым положением
  (v-align (vec) (vec 1.0 1.0) 45 body1 body2)
  ; или
  ; (v-align (vec) (vec 1.0 1.0) (vec -1.0 1.0 1.0) body1 body2)
)

Функция v-styled

Описание
Изменение цвета 3D-тела
Возвращаемое значение
3D-тело
Синтаксис
(v-styled style body_1 body_2 ... body_N)
(v-styled style bodies)
Аргумент Тип Описание
style Стиль Стиль окрашивания
bodies Перечисление 3D-тел Изменяемые 3D-тела
body_# 3D-тело Изменяемое 3D-тело
Пример
(let
  (
    ; Список 3D-тел
    (bodies (list
             (v-extrude (v-profile-round 0.4) (vec 0 0 3))
             (v-extrude (v-profile-round 0.4) (vec 0 1 0))
            ))
  )
  ; 3D-тело с изменённым цветом
  (v-styled (v-phong "Цвет" (vec 0 0 1)) bodies)
)
 
; или 
 
(let
  (
    ; 3D-тело
    (body1 (v-extrude (v-profile-round 0.4) (vec 0 0 3)))
    ; 3D-тело
    (body2 (v-extrude (v-profile-round 0.4) (vec 0 1 0)))
  )
  ; 3D-тело с изменённым цветом
  (v-styled (v-phong "Цвет" (vec 0 0 1)) body1 body2)
)
developers/references/tlc/dictionary/3d_model_modify/start.txt · Последние изменения: 2023/07/09 13:24 — proxor