x3d - как создать полигон (многогранник)?

Я новичок в x3d и понятия не имею, как создать плоскую область, как на картинке в x3d? polygon Вот координаты точек:
2360,1746,2246,1746,2139,1746,2139,1611,1923,1611,1923,2053,2246,2053,2246,1984,2371 ,1984,2371,2053,2462,2053,2462,1993,2496,1993,2496,2053,2555,2053,2556,1746
Кто-нибудь может мне помочь с этим?
И какой способ лучше: экструзия или faceset или indexedfaceset?
Спасибо.

Обновление:

я пробовал это

<shape>
  <appearance alphaclipthreshold="0.1" sorttype="auto">
    <material specularcolor="0,0,0" shininess="0.2" emissivecolor="0,0,0" ambientintensity="0.2" diffusecolor="1 1 0.94" transparency="0"></material>
  </appearance>
  <indexedfaceset>
    <coordinate point="2360 1746 2246 1746 2139 1746 2139 1611 1923 1611 1923 2053 2246 2053 2246 1984 2371 1984 2371 2053 2462 2053 2462 1993 2496 1993 2496 2053 2555 2053 2556 1746"></coordinate>
  </indexedfaceset>
</shape>

И это:

<Shape>
  <Appearance alphaClipThreshold="0.1" sortType="auto">
    <Material ambientIntensity="0.2" shininess="0.2" transparency="0.0" emissiveColor="#000000" specularColor="#2A2A2A" diffuseColor="#3F7EBD"></Material>
  </Appearance>
  <Extrusion scale="1,1" orientation="0,0,0,0" height="0.1" crossSection="2360,1746,2246,1746,2139,1746,2139,1611,1923,1611,1923,2053,2246,2‌053,2246,1984,2371,1984,2371,2053,2462,2053,2462,1993,2496,1993,2496,2053,2555,20‌​53,2556,1746"></Extrusion> </Shape>

И результат был либо пустым, либо какой-то случайной картинкой.
Есть идеи?


person Somerussian    schedule 13.09.2015    source источник
comment
Это не сервис по написанию кода. Попробуйте, расскажите, что вы пробовали, какие были проблемы, как вы пытались их решить и т. д. Пожалуйста, опубликуйте хотя бы немного кода, который вы написали, чтобы нарисовать эту фигуру.   -  person Aleksander Lidtke    schedule 13.09.2015
comment
привет хорошо, спасибо. Не могли бы вы отредактировать вопрос и поместить это туда? Это сделает его намного более разборчивым. Кроме того, каковы были проблемы с подходами, которые вы пробовали?   -  person Aleksander Lidtke    schedule 14.09.2015
comment
В результате получалась либо пустая картинка, либо какая-то случайная картинка. Любые идеи?   -  person Somerussian    schedule 14.09.2015
comment
Я понятия не имею, никогда не использовал программное обеспечение/язык программирования, о котором вы упоминаете. Я просто помогаю вам отформатировать вопрос, чтобы привлечь внимание людей, которые могут знать ответ;) Удачи.   -  person Aleksander Lidtke    schedule 14.09.2015


Ответы (1)


У вас несколько проблем. В качестве справки я рекомендую X3D: расширяемая 3D-графика для веб-авторов. IndexedFaceSet на самом деле НЕ является одним из самых простых узлов X3D для начала.

Во-первых, IndexedFaceSet использует случай верблюда, например, IndexedFaceSet. Во-вторых, геометрия IndexedFaceSet имеет не один, а два ключевых компонента для задания геометрии. Одним из них является список точек координат, как у вас. Но это неупорядоченный список точек. как часть элемента IndexedFaceSet вы должны указать вершины по номеру точки, причем каждая грань заканчивается на «-1», чтобы обозначить конец. Желательно против часовой стрелки (иначе нужно установить ccw="false").

Кроме того, если ваш многоугольник не выпуклый (у вас нет), вам нужно установить convex = «false», так как значение по умолчанию равно true.

Помните также, что X3D — это действительно 3D. Ваш список точек должен предоставлять координаты x, y и z, даже если индексированный набор граней является плоскостью, поскольку он может иметь любую ориентацию в трехмерном пространстве. Вы указали только две координаты на точку.

Вот простой пример:

<X3D>
<Scene>
<Shape>
  <IndexedFaceSet ccw = "true" colorPerVertex = "false" solid = "false" convex = "false" coordIndex='0 1 2 3 4 5 6 7 -1'>
    <Color color='0 0 1'/>
    <coordinate point='-4 -4 0 -1 -4 0 -1 1 0 1 1 0 1 -4 0 4 -4 0 4 3 0 -4 3 0'></coordinate>
  </IndexedFaceSet>
</Shape>
</Scene>
</X3D> 
person ViennaMike    schedule 18.09.2015
comment
Спасибо ViennaMike за объяснение, но я все еще не могу исправить свою ошибку. - person Somerussian; 21.09.2015
comment
Мой скрипт генерирует много объектов: стены и полы - из одного набора координат. Большинство из них выглядит нормально, но некоторые - нет. Вот пример: стены (хорошо) — awesomescreenshot.com/0f1596yf70 и пол (плохо) — awesomescreenshot.com/071596yiff . Код этих рисунков здесь: akenoo.ru/tc/dev/x3d_test.txt Кто-нибудь может помочь? - person Somerussian; 21.09.2015