사용자가 베 지어 스플라인을 클릭했는지 여부를 확인하는 방법이 필요합니다. 나의 현재 접근법은 세그먼트로 나눈 다음 히트 포인트가 이들 세그먼트 중 하나에 충분히 근접한 지 (수학적 포인트 - 세그먼트 거리 방법의 측면에서 충분히 가깝지 않은지) 확인하는 것입니다. 그러나이 방법은 단점이 있습니다 : 그들은해야하지만 베 지어 스플라인을 선택하는 방법?
보시다시피
는 활성으로 처리되지 않습니다 붉은 점으로 표시된 지점. 물론 세그먼트 수를 늘릴 수는 있지만 액티브 영역 사이에 더 많은 간격이 있기 때문에 실제로 솔루션이 악화됩니다.사용자가 베 지어 스플라인 근처의 영역을 클릭했는지 여부를 어떻게 신뢰성있게 확인할 수 있습니까?
사실 저는 수학 솔루션보다 더 신뢰성있는 휴리스틱이 필요하기 때문에 StackOverflow에 게시합니다 (후자는 주로 내 프로그램에서 사용하기에 느려야 할 것입니다. 이러한 검사는 수행되어야합니다.) 실시간으로, 마우스 이동 중에).
방법은 갭을 채우기 위해, 곡선 형상에 의한 갭 및 추가 세트 세그먼트를 표시? – DJmRek
btw 단순화 된 빨간 선의 점은 어떻게 얻습니까? – DJmRek
Physics Nerd가 C# 프로그래머로 변신했습니다. Bezier 스플라인에 매료되었습니다. 나는 그것이 베 지어 스플라인 근처의 영역에 대한 귀하의 정의에 달려 있다고 생각하십니까? 너도 알고 싶어하니? 사용자가 클릭하고 싶었던 세 줄 중 어느 것이 좋습니까? 아니면 그를 잡아 당기는 것에 대해 더 신경 써야합니까? 어쩌면 빨간 구간에서가 아니라 곡선에서 거리를 할 수 있을까요? 나는 붉은 점 영역에 필러를 추가하는 것이 그렇게 힘들지는 않을 것이라는 점에 동의하지만, 어떻게 정의할지는 조금 불분명하다. – JPK