2009-12-28 3 views
8

각 점 (에너지)마다 추가 매개 변수가있는 3D 공간 (x, y, z)을 사용하여 총 4 차원의 데이터를 제공합니다.3D 공간에서 스칼라 필드 보간

나는 알려진 점들 사이를 보간함으로써 발견되는 등 에너지 표면에 해당하는 x, y, z 점들의 집합을 찾고 싶습니다.

공간적 메시는 일정한 간격을 가지고 있으며, 완전히 이소 - 에너지 표면을 둘러싸는, 그러나, 그것은 입방 공간 (메쉬는 대략 원통형 공간을 차지)

속도는 중요하지 않다 차지하지 않고,이를 남길 수 있습니다 잠시 동안 번호를 알아내는 것. 파이썬과 NumPy로 코딩하고 있지만, FORTRAN에 코드의 일부를 쓸 수 있습니다. 그러한 라이브러리가 존재한다면 스크립트에서 사용하기 위해 기존의 C/C++/FORTRAN 라이브러리를 래핑 할 수도 있습니다.

지금까지 온라인에서 발견 된 알고리즘과 수치 식 조리법의 모든 예제와 알고리즘은 4D 데이터가 부족합니다. 메시에 에너지를 얻기 위하여 여기 꽤 몇 가지 옵션이 있습니다

+0

BTW - 숫자 레시피에는 최신 버전에서이를 처리하는 알고리즘이 있습니다. 즉, 3D의 데이터 만 처리합니다. 즉, 단일 3D 위치에 저장된 데이터입니다. Numerical Receipes의 방사형 기초 함수 보간 기는 모두 여기에 적용 할 수 있으며 3D로 논의됩니다 (대부분 nD로 확장). –

+0

네가 맞습니다. 제 에디션은 1992 년이지만 사각형 배열의 버텍스에서 메쉬의 함수 값을 도표화 한 경우 nD 보간법 (또는 2D 아날로그)을 제공합니다. 메쉬 (정교한 레벨에서 균등하게 사각형의 주기성을 가짐)가 적용되지 않는 대략 원통형 공간을 채 웁니다. – Brendan

답변

8

...

, 당신은 보간의 형태를 사용해야합니다. Shepard's method은 일반적이며 합리적으로 간단한 구현 방법이며 데이터 배포가 적절하면 잘 작동하는 경향이 있습니다.

일단 작업을 완료하면 isosurface 세대의 형식을 수행해야합니다.

이 작업을 쉽게 수행 할 수있는 라이브러리가 있습니다. 특히 VTK에는 python 래퍼가 포함되어 있으며이 두 단계를 수행하는 데 필요한 모든 도구가 있습니다.

VTK에서이 작업을 수행하는 방법에 대한 자세한 내용은 vtkShepardMethodvtkContourFilter을 확인하십시오.

1

왜 4 각 보간을 시도하지 않습니까?

다른 치수로 삼각 보간 연장. 선형 보간 모델이 데이터에 적합하면 작동해야합니다.

2

일정 간격의 공간 메쉬가 있기 때문에 등각면의 반대편에있는 모든 이웃을 식별 할 수 있습니다. 보간법 (Reed Copsey의 답)을 선택하고 각각의 이웃 사이의 라인을 따라 루트 찾기를 수행하십시오.