정점 위치 리스트만으로 다면체 그리기..

프로그래밍 일반에 관한 포럼입니다.

Moderator: 류광

Locked
비회원

정점 위치 리스트만으로 다면체 그리기..

Post by 비회원 »

지금 가지고 있는정보가 정점 위치 정보밖에 없구요

육면체일때는 정점 정보는 8개가 있고 다면체는 그 이상으로도 있습니다.

문제는 이것만 가지고 메쉬를 그려야 하는데

일반 육면체이면 인덱싱을 수동으로 만들어 넣어주겠지만 지맘대로 다면체이라 어떻게 해야할지 모르겠네요

예를들어 물체가 ㄷ 모양으로도 있고 ㄱ 모양도 있고 그런겁니다..

이런것들도 어떤 규칙성을 줄 수 있을까요? 딱히 방법이 떠오르질 않아 질문 해 봅니다..
lifeisforu
Posts: 225
Joined: 2005-02-25 11:33
Location: (주)위메이드엔터테인먼트 엔진개발팀
Contact:

음...

Post by lifeisforu »

모든 점이 corner 인 volume 을 구하려고 하면 계산비용은 많이 들지만 방법은 있을 것 같습니다.
물론 중요한 전제가 있습니다. 반드시 Convex 여야만 합니다.

Code: Select all

TriangleList 를 만든다

각 점(A)에 대해 돌면서

    다른 두 점들(BC)에 대해 돌면서

        ABC Triangle 을 만든다
        만약 ABC Triangle 의 전면에 아무런 점도 존재하지 않으면
            TriangleList 에 ABC Triangle 을 추가한다
            break;

        ACB Triangle 을 만든다
        만약 ACB Triangle 의 전면에 아무런 점도 존재하지 않으면
            TriangleList 에 ACB Triangle 을 추가한다

Triangle 앞에 점이 존재하느냐는 세 점을 제외한 점들에 대한 loop 을 돌면서 검사해 보아야 하겠죠.

Concave 는 어떻게 만들지 저도 감이 잘 안 오네요. 결국에는 제대로 된 답변이 안 되게 되었네요.

만약 vertex 를 직접 만드시는 거라면 indexing 할 방법이 있을 것 같은데요...

그냥 input 으로 들어오는거라면 convex 이외에는 잘 모르겠네요.
Last edited by lifeisforu on 2009-05-12 14:16, edited 2 times in total.
비회원

Post by 비회원 »

답변 감사드리구요

잘 이해가 안가서 그러는데요 삼각형의 전면에 정점을 추가하는 이유는 뭔가요?
lifeisforu
Posts: 225
Joined: 2005-02-25 11:33
Location: (주)위메이드엔터테인먼트 엔진개발팀
Contact:

아...

Post by lifeisforu »

완전 오타 잔뜩 들어가 있어서 algorithm 이 개판이었네요.

전면에 점이 존재하지 않으면 triangle 을 list 에 추가하는 것이었습니다.

pseudo code 수정했습니다.
Locked