편집 : 답변 (getPointAtLength에 대해 @musically_ut에 크레디트가 있지만 실제 작업을 직접 수행해야하는 것처럼 보입니다.) 참고 : "draw.circle"-syntax는 svg.js에 있습니다.)SVG : 곡선의 점 찾기
- 찾을
.attr({id: "mypath"});
과 경로에 자신의 ID를 추가 :
var a = document.getElementById("IdOfSvgCurve");
곡선에 몇 원을 그립니다. 좌표는 시작점을 기준으로해야합니다.
var pt_start = a.getPointAtLength (0);
for (var i = 0; i < len; i ++) { var pt = a.getPointAtLength (i * 10); var c = draw.circle (7) . fill ({color : "green"}) .move (pt.x - pt_start.x, pt.y - pt_start.y); }
원래 질문 :
이
<path id="SvgjsPath1044" d="M 125,75 a100,50 0 0,0 100,50"/>
가 어떻게 그 마우스 오른쪽 점을 배치 할 수있는 베 지어 또는 타원이 될 수있다, 내가 SVG 곡선을 말해봐 곡선? 이처럼 :
은 그것은 "좌표 시스템"을 사용하거나 실제로 곡선에있는 점을 calculting 자신의 좌표를 사용하여 추가하여 수, 경로 길이와 같은 것을 사용 될 수 있습니다.
이것은 주로 설명을위한 것이므로 반드시 일반적인 해결책이 필요하지 않습니다.
svg.js 라이브러리를 사용하고 있지만이 부분을 "기본적으로"수행 할 수 있습니다.
감사합니다.
이 경우 경로는 수학 함수를 나타내므로 함수의 점을 대수적으로 계산할 수 있습니다. – sbking
Snap.svg에는 두 경로의 교차점을 찾을 수있는'intersection' 메소드가 있습니다. 임시 수직선 경로를 만들고, 교차점을 계산하고, 교차점에 점을 추가하고, 수직선을 제거 할 수 있습니다. – sbking
글쎄, [실제 SVG 파일] (https://upload.wikimedia.org/wikipedia/commons/4/41/Interpolation_example_polynomial.svg)을보고 어떻게 완료되었는지 확인하십시오! 틀림없이 소스가 끔찍합니다. – Bergi