3D 스플라인 보간에 사용할 수있는 코드와 알고리즘에 대해 혼동스러워합니다. 내 응용 프로그램에는 경로가 필요합니다. 3D 공간에 정의 된 점이 있으면 스플라인 함수 (입방체, 베 지어 등)를 사용하여 보간해야합니다. 인터넷에 대한 연구는 나에게 해결책을주지 못했고 혼란 만 일으켰습니다.3D 공간에서 스플라인 보간에 대해 혼란 스럽습니다.
이 알고리즘은 내 관심을 끌었습니다 algorithm. 그것은 일부 3D 점 (MATLAB을 사용하여) 정의 :
[X, Y, Z] = meshgrid(x, y, z);
을 다음 MATLAB 보간 함수를 호출
s = exp(-sqrt(X.^2 + Y.^2 + Z.^2));
sinterp = interp3(x, y, z, s, 0., 0., 0.)
함수에 대한 의 무엇입니까!? 보간은 명확하게 3 점을 필요로합니다. 이 기능은 무엇입니까?
저는 C++ 프로그래머이므로 다음과 같은 유용한 기능을 제공하는 alglib 라이브러리를 사용하려고했습니다. 그러나 3 점이 충분하지 않아도 모르는 기능을 호출해야합니다.
내 응용 프로그램에서 3D 점은 다음과 같이 공간에 임의로 흩어져 있습니다. picture. 내 문제는 포인트에 합류하기위한 기능이 필요하다고 생각하지 않습니다. 비록 내가 그것을 필요로하더라도, 나는 그것을 정의하는 방법을 모른다.
어떻게이 문제에 접근하고 있습니까? 잘못된 라이브러리 함수를 사용하고 있습니까? 또는 스플라인 생성을위한 함수를 가지고 있어야합니까? 그렇다면 어떻게해야이 기능을 사용할 수 있습니까?
안부
'오버 하우저 (Overhauser)의 spline', 그 전에 들어 본 적이 없어요. – zionpi
당신은 더 상세한 설명을 볼 용어를 구글 수 있습니다. 일부 웹 사이트에서는 Overhauser 스플라인과 Catmull Rom 스플라인이 똑같은데 잘못된 것이라고 말합니다. 그러나 그들은 둘 다 cubic Hermite 곡선이고 첫 번째 미분이 어떻게 추정되는지에 의해서만 다릅니다. – fang