3

저는 물리 엔진의 진원도/곡률에 모양을 제공하려고합니다.커브 정의 방법

저는 수학적으로 곡선을 정의하는 다양한 방법을 알고 있습니다. 타원형 (bezier-cruves), 타원형 (ellipses) 등의 방법을 사용합니다. 속도, 구현 가능성 및 각 방법의 유연성을 고려해야하기 때문에 어떤 방법이 내 물리 엔진에서 가장 적합할지 모르겠습니다. 나는 사용자가 쉽게 복잡한 곡선을 쉽게 형성 할 수 있지만 교차 계산을 간단하고 빠르게 만들 수있는 시스템을 원합니다.

내 물리 엔진도 순전히 연속적입니다. 즉, 곡선이 일정한 선형/각속도를 기반으로 다른 곡선 및 선과 충돌하는 시간을 계산할 수 있어야합니다.

  • 수학적으로 2D 곡선을 정의하는 기술은 무엇입니까?

  • 속도, 유연성 및 단순성면에서 각각의 장점/단점은 무엇입니까?

  • 형상 교차의 예측 가능성이 중요한 엔진 기술이 실현 가능합니까?

답변

3

Bezier curves과 같은 태그가 표시됩니다. 그것은 수학적으로 잘 정의되어 있으므로, 충돌 감지에 사용할 수는 있지만, 수행하는 작업에 따라 수식을 작성하고 해결하는 데 다소 어려움이있을 수 있습니다. 나는 그것에 대해 많이 알지 못하지만, 스플라인에 접근하는 표준 방법 인 것으로 보이는 것이 NURBS이고, 위키 피디 어는 주제에 대한 기사가 많은 것 같습니다. NURBS 기사는이 모든 내용을 다룰 것입니다. 그러나 여러 점 사이에서 부드러운 곡선을 그리는 빠르고 더러운 방법은 cubic splines을 사용하여 모든 두 점 사이에 3 차 다항식을 삽입하여 첫 번째 파생 값이 모서리에서 일치하도록하는 것입니다. 이렇게하면 모든 포인트를 통과하고 모든 지점에서 매끄럽게 보입니다. 초기 지점에서 날카로운 모서리가 없습니다.