2012-03-11 2 views
2

베 지어 곡선의 제어점이 많을수록 커브가 도달하는 제어점 근처가 줄어 ​​듭니다.모양이 부드러운 베 지어 곡선

예를 들어 2 포인트 (선형 곡선)가 두 조절 점에 도달합니다. 3 점 (2 차 곡선) 곡선은 3 점 사이에 호를 형성합니다. 이것은 나에게 이상적입니다. 정확하게 선을 따라 가지 않습니다. 곡선이 아니기 때문에 제어점간에 강한 시각적 관계가 있습니다. 그리고 그 선.

제어점이 지그재그 형인 4 포인트 (입방) 커브가 있지만 결과 라인이 훨씬 직선입니다. 지그재그로 100 개의 제어점을 사용하도록 확장하면 곡선이 거의 완전 직선입니다.

지그재그 예제를 사용하여 내가 원하는 곡선을 형성하는 한 가지 방법은이 경우에는 100 개의 제어점 베 지어 곡선보다 덜 적극적으로 지그재그 모양으로 보일 것입니다. 끝 부분에서 여러 개의 작은 3 점 베 지어 곡선으로 모양을 분할하여 보간합니다.

더 복잡한 베 지어 곡선 관련 작업을 수행하는 데 사용할 수있는 간단한 형식으로 C#, 의사 코드 또는 더 많은 정보가 있습니까?

+0

http://en.wikipedia.org/wiki/B%C3%A9zier_curve - 베 지어 곡선이 어떻게 구성되어 있는지 잘 설명합니다. 다른 커브 오더가 적용되는 섹션을 살펴보십시오. – Mikant

+0

문제가 무엇인지 잘 보여줍니다. 다음 예제는 모두 커브 오더가 높습니다. 두 가지 경우 모두 매우 정확하게 커브를 따라 가지 못합니다. 커브는 커브 컨트롤 포인트를 너무 많이 연결 한 직선과 너무 멀리 떨어져 있습니다 (http : // ko). wikipedia.org/wiki/File:Bezier_4_big.gif, http://en.wikipedia.org/wiki/File:BezierCurve.gif. 낮은 차수 곡선의 경우에는 문제가되지 않지만 http://en.wikipedia.org/wiki/File:Bezier_2_big.gif 그러나 제어점이 너무 적은 간단한 곡선입니다. – alan2here

답변

6

매우 쉽게 구현할 뭔가 차 베 지어 호

enter image description here

당신은 기본적으로 소스 정점 사이의 중간 점을 사용을 사용하여 곡선을 구축하는 것입니다에 대한 제어 포인트 각 호와 소스 정점의 시작/정지 등 호. 이 선택은 접선의 연속성을 보장하고 커브 모양을 많이 제어합니다.

또한 동일한 좌표의 두 개의 연속적인 정점을 사용하여 쉽게 구석을 얻을 수 있습니다.