복셀에서 평평한 표면을 그리려는 중입니다. 목표는 채우는 것이고 많은 문제가 있습니다. 내가 시도한 모든 것은 표면에 구멍을 만듭니다. 곡면에는 4 개의 모서리가 있지만 삼각형에도 같은 방법을 사용할 수 있기를 바랍니다. 여기 3D 복셀 각진 평면
는 I 해봤 무엇 :- 평면의 측면을 따라 (Z 방향)의 한 방향으로 만 그리 다른
- 하나의 병렬 측으로부터 따라 그려
나는 2로 가장 성공했으나 비행기에 피치 나 롤을 추가하면 실패합니다 (모든 고도가 있음).
팁이 있습니까? 내 구현이 모두 정확하다고 확신하기 때문에 코드가 없습니다. 알고리즘의 선택이 잘못되었습니다.
편집 : 보조 노트에
, 2 번 적은 구멍을 가지고 있지만, 비행기가 왜곡 된 평면 표시하지 않았다.
EDIT2 : 구멍이있을 때 내가 처음으로 의사 결정을 고수하고있어,하지만 지금은 문제는
, 어떻게 감지 하는가? 관측에 의하면 피치와 롤에 관계없이 평면 당 같은 양의 구멍이 있음을 알았습니다. Yaw가 범인입니다.
EDIT3 : I가이 질문을 떠날거야하지만 난 그냥 비어 있는지 확인하기 위해 근처의 블록을 테스트하기로 결정
. 나는 그것을하고 싶지 않았지만 그래. 당신이 더 우아한 해결책을 가지고 있다면 나는 모든 귀입니다.
감사합니다. 나는 (매우) 비효율적 인 알고리즘을 기사의 기사를 기반으로 작동시켰다. 주요 최적화 작업이 필요하지만, 작동합니다. 삼각형 주위의 큐브를 반복하고, 그 페이지에서 같은 방법을 사용하지만, 평면 (X, Y 또는 Z)에 각각 투영 된 세 개의 2D 삼각형에 대해 테스트합니다. 그 점이 삼각형 "피라미드"영역에 있는지를 결정합니다. 그러면 평면 방정식이 사용되며 점은 알려진 점에서 빼고 삼각형의 법선으로 점을 찍습니다. 도트 생성물 값은 주어진 불확도 매개 변수에 대해 테스트된다. dot> = -u && dot <= u. – SpaceFace