1. Пользоваться форумом на планшетах и телефонах стало удобнее благодаря Tapatalk

Создание грани

Тема в разделе "MAXScript", создана пользователем AllexScript, 10 май 2009.

Модераторы: Savin Denis
  1. AllexScript

    AllexScript Пользователь сайта

    С нами с:
    28.01.2009
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    2
    Вопрос такой: как можно например имея координаты шести вершин создать 6-и угольную плоскость т.е. грань. Как вообще можно создавать грани по вершинам (грань как реальную поверхность которая рендерится)?
    Заранее благодарен…
     
  2. Savin Denis vip

    Savin Denis Moderator Команда форума

    С нами с:
    05.05.2005
    Сообщения:
    1.633
    Симпатии:
    0
    Баллы:
    210
    Для начала тебе понадобиться EditablePoly объект, так он поддерживает работу с много угольными полигонами и уже сам их разбивает на треугольники - Faces

    Получить его можно преобразовав из пустой сетки:

    Код:
    ep = editable_mesh name:(uniquename "Nexagon") --create an empty EMesh
    convertTo ep Editable_Poly --convert to Editable_Poly
    Далее тебе нужно создать вершины.
    Каждая вновь созданная вершина получает порядковый номер т.е. ее место в массиве - Индекс.
    Запоминаем индексы вершин, они понадобятся нам для создания полигона.

    Код:
    p1 = [0, 0 , 0]
    p2 = [ .5, sqrt(3.0)/2.0 , 0]
    p3 = [ 1.5, sqrt(3.0)/2.0, 0]
    p4 = [ 2, 0, 0]
    p5 = [ 1.5, -sqrt(3.0)/2.0, 0]
    p6 = [ .5, -sqrt(3.0)/2.0, 0]
    
    v1 = ep.createVertex p1
    v2 = ep.createVertex p2
    v3 = ep.createVertex p3
    v4 = ep.createVertex p4
    v5 = ep.createVertex p5
    v6 = ep.createVertex p6
    
    Теперь просто создаем полигон по вершинам:

    Код:
    ep.createFace (#(v1,v2,v3,v4,v5,v6))
    Вот и все.

    PS
    Гранью(Edge) в CG называется ребро соединяющее две точки полигона или Face.
    Боле подробно по командам читай хелп Editable_Poly: GeometryClass
     
  3. AllexScript

    AllexScript Пользователь сайта

    С нами с:
    28.01.2009
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    2
    ага…
    Спасибо, попробую….. :)
     
Модераторы: Savin Denis

Поделиться этой страницей