2012-04-10 5 views
1

NURBS 서페이스를 패치 형태의 일부 데이터 포인트에 맞추고 있습니다. 필자는 일정량의 패치와 패치 당 17x17 데이터 포인트의 일정한 해상도를 가지고 있습니다. 각도 값은 각 방향으로 3입니다.NURBS 곡면을 생성하는 동안 C1 연속성을 부여하는 방법은 무엇입니까?

모든 패치는 루틴을 사용하여 NURBS 표면에 맞습니다. 인접 패치 사이의 데이터 포인트가 서로 일치하므로 C0 연속성이 충족됩니다. 그러나 나는 C1 연속성을 위해 특별히 아무것도하지 않습니다. 알고리즘을 수정하여 C1 연속성을 유지하려면 어떻게해야합니까?

답변

1

이렇게하는 데는 몇 가지 방법이 있습니다.

당신이 할 수있는 한 가지 일은 인접한 두 패치의 내부를 향한 두 개의 제어점의 중간 지점에 경계 제어 포인트를 놓음으로써 독립적으로 해결 한 다음 인접한 패치를 C1로 강제하는 것입니다. 즉, P0 점이 한면에 있고 Q 점이 다른면에 있고 P0 = Q0 인 4 개의 제어점 Q0, Q1, P0 및 P1이있는 경우 P0 = 0.5 * (Q1 + P1). NURBS 패치의 매듭 너비가 다르거 나 4 개 이상의 NURBS 패치가 모서리로 있으면이 방정식은 달라야합니다. 또한 완전 다중 끝 매듭 점이 있다고 가정합니다 (베 지어 끝 조건).

당신이 할 수있는 또 다른 일은 C1 조건을 선형 동등 제약 조건으로 포함하는 전역 시스템을 해결하는 것입니다. 이렇게하면 최적의 결과를 얻을 수 있지만 속도가 훨씬 느려질 수 있습니다.