2017-11-23 10 views
0

.STL ASCII 파일을 조작하는 코드를 작성하려고하는데 파일 형식을 완전히 이해하려고합니다. 내가 본 것에서 볼 때, 각 삼각형의 "패싯 법선"선의 내용은 그려진 삼각형에 아무런 영향을 미치지 않습니다. 또한 삼각형의 어느 쪽이 "외부"로 간주되는지에 영향을 미치지 않으며, 이는 정점의 순서를 뒤집어서 수행됩니다.Stereolithography (.STL) 파일의 각 삼각형이 법선 벡터를 사용해야하는 이유는 무엇입니까?

이 삼각형

facet normal 1 1 1 
    outer loop 
     vertex -1 1 1 
     vertex 1 -1 1 
     vertex 1 1 -1 
    endloop 
endfacet 

의이 삼각형이 동일 삼각형

facet normal -1 -1 -1 
    outer loop 
     vertex -1 1 1 
     vertex 1 -1 1 
     vertex 1 1 -1 
    endloop 
endfacet 

동일하다.

facet normal 1 0 0 
    outer loop 
     vertex -1 1 1 
     vertex 1 -1 1 
     vertex 1 1 -1 
    endloop 
endfacet 

명시 적 법선 벡터를 가진 것은 중복 정보가 수학적으로임을 감안할 때, 그리고 심지어 어쨌든 고체의 도면에 사용 아니라고, 왜 파일 형식에? 그리고 그것이 무언가에 사용된다면 그것은 무엇을위한 것입니까?

편집 : Autodesk Meshmixer에서 이러한 파일을 여는 중입니다.

답변

0

이 방법을 테스트 했습니까? 테스트에 사용 된 프로그램에서 보통을 사용하지 않으면 다른 프로그램에서 법선이 전혀 사용되지 않는다는 것을 의미하지는 않습니다. 정상을 포함하는 몇 가지 이유가 있습니다 :

  1. 당신은 매우 높은 삼각형의 개수가 사용되지 않는 부드러운 음영 및 부드러운 표면이 고르지 보일 것이다 가질 수 없습니다 법선없이

    부드러운 그래픽 쉐이딩 (렌더링) .. .

    choppy Earth

    그러나 단지 얼굴 법선 당이 우리가 정점 법선과 IIRC의 STL 당 필요 정말 부드러운 음영을 달성하기 위해 스무딩 C 그래서 인공물 표면 삼각형에만 사용됩니다.

  2. 선언 도구 액세스 측과 각도가 STL3D 인쇄에 대한 의미와 도구의 접근 각도를 결정처럼 특별한 의미를 가질 수있는 정상 사용 된 기술에 따라됩니다

    (인쇄) 또는 표면 구조를 조정할 때 사용할 수 있습니다. 이 모든 것은 프린터의 제어 소프트웨어가이를 해석하거나 사용하는 방법에 달려 있습니다.

+0

왜이 두 가지 중 하나에서 필요한 삼각형의 법선을 명시하고 있습니까? 법선 벡터의 방향 정보는 삼각형을 정의하는 세 점에 이미 있습니다. 정보가 명시 적으로 제공되는 이유가 궁금합니다. – Braden

+0

@Braden 사용 된 법선이 삼각형 표면에 수직 인 기하 벡터와 항상 같지 않기 때문에. – Spektre

+0

오, 재미 있어요. 이 경우 STL 파일에서 "정상"벡터의 정의는 무엇입니까? 주어진 파일에 어떤 이유가 필요한지에 관계없이 삼각형에 가장 관련있는 정보를 담고있는 벡터일까요? – Braden