나는 paper.js에서 교차로, 차이점 및 합집합을 기반으로 새 경로를 만들어야하는 프로젝트에서 작업하고 있습니다. 좀 파고 cubic bezier spline을 보간하는 수학 함수를 찾았지만 svg와 같은 벡터 산술을 수행하는 자바 스크립트 라이브러리가 있는지 궁금합니다. 어떤 것이 든, 나는 inkscape를 복사하여 자바 스크립트로 변환 하겠지만 결코 알 수 없다. 다음 어쨌든, 베지 큐빅 보간에 대한 수학 함수이다 :paper.js 노동 조합의 차이점과 교차점
Pointx = (Ax * percent^3) + (Bx * 3 * (percent^2 * (1-percent))) + (Cx * 3 * (percent * (1-percent)^2)) + (Dx * (1-percent)^3)
Pointy = (Ay * percent^3) + (By * 3 * (percent^2 * (1-percent))) + (Cy * 3 * (percent * (1-percent)^2)) + (Dy * (1-percent)^3)
하는 A, B, C 및 D는 곡선 지점 어디. A는 시작이고 D는 끝이고 B와 C는 A와 D 사이의 곡률을 조작하는 "제어점"입니다. percent
은 0에서 1까지의 눈금에서 계산할 거리의 한 점입니다.
제공된 베 지어의 점과 베 지어의 백분율을 반환하는 보간 함수를 사용하면 매우 간단합니다. 역 (inverse) 찾기 - 주어진 점 (또는 x 값 또는 y 값)에 대한 백분율은 어려울 것입니다. 또는 두 개의 베 지어가 교차하는 곳에서 더 어렵습니다 (저는 수학에별로 좋지 않습니다). 그것이 inkscape의 기능이 제공하는 것입니다.
이러한 종류의 벡터 보간을 빠르게 수행 할 수있는 자바 스크립트 라이브러리가 있습니까? 그렇지 않다면 여기에 올 알고리즘을 게시 할 것입니다. 감사합니다.
슬프게도, 그 링크는 라인을 렌더링하기위한 것입니다. 이 함수는 링크 중 하나에서 보여지는 것처럼 일정한 간격으로 렌더링하지 않습니다 : [link] (http://13thparallel.com/archive/bezier-curves/example3.htm) 내가 정말로 원하는 것은, 그것들이 교차하는 지점. 나는 곧 나의 발견들로 업데이트 할 것이다. –