Трехмерные координаты в файлах стереолитографии ASCII (STLA) - PullRequest
1 голос
/ 16 июля 2010

Я прочитал краткое описание файлов STLA (файлы стереолитографии ASCII) , но, извините, я не понимаю, как определяются грани / треугольники.

Например, впример для куба:

solid cube_corner
  facet normal 0.0 -1.0 0.0
    outer loop
      vertex 0.0 0.0 0.0
      vertex 1.0 0.0 0.0
      vertex 0.0 0.0 1.0
    endloop
  endfacet
  facet normal 0.0 0.0 -1.0
    outer loop
      vertex 0.0 0.0 0.0
      vertex 0.0 1.0 0.0
      vertex 1.0 0.0 0.0
    endloop
  endfacet
  facet normal 0.0 0.0 -1.0
    outer loop
      vertex 0.0 0.0 0.0
      vertex 0.0 0.0 1.0
      vertex 0.0 1.0 0.0
    endloop
  endfacet
  facet normal 0.577 0.577 0.577
    outer loop
      vertex 1.0 0.0 0.0
      vertex 0.0 1.0 0.0
      vertex 0.0 0.0 1.0
    endloop
  endfacet
endsolid

Первый «фасет» описывает трехмерный треугольник, не так ли?(0,0,0), (1,0,0), (0,0,1).Тогда зачем использовать вектор нормали (0, -1,0)?В этом примере, каковы будут трехмерные координаты 8 вершин для этого куба?

Спасибо

1 Ответ

0 голосов
/ 16 июля 2010

Нормаль определяет, каким образом грани указывают.

Вы можете рассчитать его по трем точкам, составляющим фасет.Выберите один как источник и затем возьмите перекрестное произведение OA и OB (где A и B - две другие вершины).Однако норма, которую вы получите, будет зависеть от того, какую вершину вы выберете в качестве источника, и от того, как вы делаете перекрестное произведение.Если у вас есть определенная норма, вы можете определить правильный «порядок намотки» вершин.

8 вершин куба будут 8 уникальными вершинами во всех гранях.

Однако,это тело не представляет куб, так как имеется только 4 треугольника, две нормали одинаковы, а одна не перпендикулярна другим.

...