HTML5 캔버스를 사용하여 복잡한 경로의 애니메이션을 만들려고합니다. 내 경로를 베 지어 곡선으로 나눠서 cubic bezier curves formula 및 javascript 함수 lineTo()를 사용하여 각 경로를 그립니다. 문제는 커브가 서로 연결된 점입니다. 그들은 원활하게 연결되지 않습니다. 베 지어 커브 대신 B- 스플라인 커브를 사용하면이 문제가 해결된다는 것을 깨달았습니다. 그래서, 베 지어 곡선을 b- 스플라인으로 변환하는 방법이 있는지 궁금합니다.BezierCurve를 B-Spline으로 변환하려면 어떻게해야합니까?
1
A
답변
2
이론적으로 베 지어 곡선은 단일 세그먼트 B- 스플라인 곡선으로 간주 할 수 있습니다. 따라서 "베 지어 곡선을 B- 스플라인 곡선으로 변환"하는 것과 같은 것은 없습니다. Wikipedia 페이지의 정보에 따라 3 차 베 지어 곡선 평가 기능을 구현할 수 있다면 De Boor algorithm에 따라 B- 스플라인 곡선을 구현하는 것이 어렵지 않습니다.
여분의 길이의 B- 스플라인 커브를 사용하지 않으려는 경우 베 지어 곡선의 제어점을 로컬로 수정하여 원활하게 결합 할 수 있습니다. Q0, Q1, Q2 및 Q3에 의해 정의 된 P0, P1, P2 및 P3 및 C2 (t)로 정의되는 두 개의 3 차 베 지어 곡선 C1 (t)가 P3 = Q0 인 것으로 가정합니다. 공통점 P3을 지나는 선에 P2와 Q1을 투영하여 C1 (t)와 C2 (t)를 부드럽게 결합 할 수 있습니다. 라인의 방향은 당신에게 달려 있습니다.
관련 문제
- 1. 마우스 포인트를 이차원 BSpline으로 변환
- 2. JSONArray를 JSONObject로 변환하려면 어떻게해야합니까?
- 3. eps를 jpg로 변환하려면 어떻게해야합니까?
- 4. NSDecimalNumber를 NSInteger로 변환하려면 어떻게해야합니까?
- 5. DIB를 BMP로 변환하려면 어떻게해야합니까?
- 6. IntPtr을 스트림으로 변환하려면 어떻게해야합니까?
- 7. JAXB를 JSON으로 변환하려면 어떻게해야합니까?
- 8. System.Windows.Input.Key를 숫자로 변환하려면 어떻게해야합니까?
- 9. 녹을 정수로 변환하려면 어떻게해야합니까?
- 10. WatchService를 Runnable로 변환하려면 어떻게해야합니까?
- 11. DatePickerDialog를 조각으로 변환하려면 어떻게해야합니까?
- 12. HTML을 XPS로 변환하려면 어떻게해야합니까?
- 13. * char를 _TCHAR로 변환하려면 어떻게해야합니까?
- 14. java.util.Date를 org.joda.time.DateTime으로 변환하려면 어떻게해야합니까?
- 15. System.Type을 Uri로 변환하려면 어떻게해야합니까?
- 16. HTML을 Textile로 변환하려면 어떻게해야합니까?
- 17. wostream을 ostream으로 변환하려면 어떻게해야합니까?
- 18. 목록을 CSV로 변환하려면 어떻게해야합니까?
- 19. 확률을 점수로 변환하려면 어떻게해야합니까?
- 20. 문자열을 정수로 변환하려면 어떻게해야합니까?
- 21. int를 char로 변환하려면 어떻게해야합니까?
- 22. FileContentResult를 FileStreamResult로 변환하려면 어떻게해야합니까?
- 23. MVC 3으로 변환하려면 어떻게해야합니까?
- 24. 이미지를 PDF로 변환하려면 어떻게해야합니까?
- 25. XSD를 XSLT로 변환하려면 어떻게해야합니까?
- 26. NSString을 NSData로 변환하려면 어떻게해야합니까?
- 27. 목록을 배열로 변환하려면 어떻게해야합니까?
- 28. .htaccess를 web.config로 변환하려면 어떻게해야합니까?
- 29. 문자열을 객체로 변환하려면 어떻게해야합니까?
- 30. HttpStatusCodeResult를 JsonResult로 변환하려면 어떻게해야합니까?
새 b- 스플라인이 b- 곡선 세트와 비슷할 것이라고 가정하겠습니다. 그러나 b- 스플라인의 경로가 현재의 b- 곡선과 정확히 일치하지 않을 수 있습니다. 그렇습니까? – markE
Yead, 괜찮습니다. 그러나 미니 커브가 서로 연결되어 더 큰 모양을 만들면 변환 후 각 미니 커브의 시작/끝 점이 동일해야합니다. – Saeed