구조화되지 않은 메쉬의 셀 중심에 다 지점 데이터를 보간하는 방법은 무엇입니까?


11

멀티 포인트 필드 데이터 세트가 있는데 각 포인트 데이터 세트는 구조화되지 않은 메쉬의 단일 셀과 관련이 있습니다. 목표는 데이터를 셀 센터에 직접 또는 간접적으로 가장 정확한 방식으로 보간하는 것입니다.

역 거리 가중 보간법을 사용하는 경우 소스와 대상 (셀 중심) 사이의 거리가 매우 작은 경우 부동 소수점 예외가 발생할 수 있습니다.

구조화 된 메쉬에서 이러한 종류의 보간에는 볼륨 가중치 보간이 사용됩니다. 이것은 임의로 모양의 메쉬 셀로 직접 변환되지 않습니다.

SIGFPE를 우회하기 위해 IDW 보간에 대한 공차를 도입하는 것은 보간을 비효율적으로 만들 수있는 테스트를 도입하지 않은 경우에만 의미가 있습니다. 모든 가중치에 대해 분모에 충분히 작은 를 추가하는 것이 IDW 보간으로 가능한 옵션입니까? 이 문제에 적합한 보간 방법은 무엇입니까?δ

추가 정보:

메쉬에서 점까지의 보간을 위해 barcycentric 좌표 에 기반한 보간을 사용하고 있습니다. 메쉬의 각 다면체 셀은 사면체로 분해됩니다. 셀 중심 필드는 IDW 보간을 사용하여 셀 포인트에 보간 됩니다. 각 점에 대한 탐색이 수행되어 그 안에있는 사면체를 찾고, 값은 중심 보간을 사용 하여 보간 됩니다.

점에서 메쉬까지의 보간에는 불가능합니다. 셀 중심 값을 알 수 없습니다. 강제하는 사면체 구성을 어셈블 할 방법이 없습니다 . 여기서 는 점 P 및 셀 중심 C 와 관련된 가중치 입니다. 이것은 포인트 구성이 임의적이라는 사실에서 비롯됩니다. 따라서 현재 IDW를 사용하고 있으며 부동 소수점 실행을 얻지 못합니다. 이 문제에 더 적합한 보간 방법이 있습니까?=1


사용중인 가중치 기능에 대해 좀 더 구체적으로 설명 할 수 있습니까? 끝점에 특이점이없는 다항식 가중 함수를 사용하는 몇 가지 보간 접근법이 있습니다.
Pedro

1
보간 할 함수가 부드럽다면 방사형 기저 함수를 사용하여 메시에서 전체적으로 보간하는 방법을 생각해 보셨습니까? python과 scipy를 사용하여 빠른 프로토 타입을 만들 수 있습니다. docs.scipy.org/doc/scipy/reference/generated/…
fcruz

내가 일하고있는 라이브러리는 실제로 RBF (소형 및 전역 지원)를 지원하지만 이에 대한 경험이 거의 없습니다. 팁 주셔서 감사합니다 .. :)
tmaric

1
당신이 SciPy RBF 라이브러리를 시도 할 경우이 뛰어난 인식 버그
n00b

셀 정점에 종속 변수의 기울기 값이 있습니까?
Johntra Volta

답변:


7

분산 된 데이터 보간을위한 다양한 소프트웨어 패키지에 대한 링크는 내 웹 페이지 http://www.mat.univie.ac.at/~neum/stat.html#fit에 있습니다.


GE Fasshauer, MATLAB을 사용한 Meshfree Approximation Methods, World Scientific 2007. 책
은 포괄적 인 최신 기술을 제공합니다 (2006 년 기준).

흩어진 데이터 보간에 관한 몇 가지 최신 논문 :
http://www.stanford.edu/group/uq/pdfs/journals/jcp_scattered_2010.pdf
http://www.math.auckland.ac.nz/~waldron/Preprints/ 박스 스플라인 / 박스 스플라인 .pdf

어떤 방법을 사용할지는 결과 보간법의 사용에 달려 있습니다. Kriging 방법은 확률 모델을 기반으로하므로 보간 할 데이터가 다소 노이즈가있는 경우 좋습니다. (안정적으로 구현 됨) 시각적으로 만족스러운 결과가 필요한 경우 (낮은 곡률 보간) 방사형 기저 함수가 선호됩니다.


Neumaier 교수는 웹 사이트의 링크 및 답변에 수집 한 방법 중 질문에 설명 된 응용 프로그램에 대한 특정 권장 사항이 있습니까?
Geoff Oxberry

늘 그렇듯이 학습이 필요한 것들의 양은 시간이 지남에 따라 기하 급수적으로 증가하고, 배우는 데 필요한 것들의 양이 줄곧 성장합니다. :) 감사. 초기 구현에는 IDW 보간법을 사용하고 분산 된 데이터 보간법 (RBF가 트렌디 한 선택 인 것 같습니다)에 대해 읽어 보겠습니다. :)
tmaric

1
@ GeoffOxberry : 패키지를 시도하지 않고 시간이 지남에 따라 링크를 수집했습니다. 따라서 나는 특정 것을 추천 할 수 없다. 그러나 질적 권장 사항에 대한 의견을 추가했습니다.
Arnold Neumaier

3

아래에서는 유한 볼륨 메쉬에서 한 점 세트에서 다른 점 세트로 보간하는 방법에 대한 예를 제공합니다.

변수 배열을 배치했습니다. 메모리에 저장하는 데이터는 셀 중심의 값을 나타냅니다. 필드 변수와 그레디언트를 저장합니다. 그라디언트는 최소 자승 문제를 해결하는 주변 값에서 찾을 수 있습니다 (가정 반사를 통한 QR 사용).

배열은 다를 수 있지만 원칙은 동일합니다.

내가 찾고 그런 경우 - 세포 얼굴 중심에서 값을 나는 그것을에서 얻을 수 있습니다 :ϕ에프

ϕ1+ϕ1아르 자형1,에프=ϕ에프

ϕ2+ϕ2아르 자형2,에프=ϕ에프

...

ϕ+ϕ아르 자형,에프=ϕ에프

아르 자형,에프에프

그런 다음 나는 쓴다

ϕ에프=1(나는=1ϕ나는+나는=1(ϕ나는아르 자형나는,에프))

따라서 해당 지점에서 하나의 필드 값과 그라디언트가 필요합니다. 보간 된 포인트에 기여할 주변 포인트와이 포인트에서 보간 할 포인트까지의 거리 벡터를 결정해야합니다.

예를 들어 셀 정점에 값을 나타내는 데이터를 저장하는 경우 상황에 따라이 방정식을 사용하여 셀 중심 값 등을 찾을 수 있습니다.

이것은 테일러 시리즈를 기반으로합니다. 보다 정확한 표현을 도출하기 위해 2 차 도함수를 사용할 수도 있습니다.


ϕ에프1

1
나는 이것을 즉시 내 코드로 썼다. 여기서는 공간에서 데이터가 선형 적으로 변한다고 가정하기 때문에 Taylor 계열의 1 차 파생 상품 만 포함됩니다. 메시에 대한 가정은 없으며 모든 메시에 적용됩니다.
Johntra Volta 2016 년

1
그러나 가중치를 추가 할 수 있습니다. 가중 버전과 가중 버전이 모두있는 최소 제곱 그라디언트 재구성과 같습니다.
Johntra Volta 2016 년

고마워, 그러나 나는 일반 필드, 특히 급격한 점프 (2 상 흐름)가있는 필드에 필요합니다 ... 평균을하면 필드가 부드럽게됩니다. 이것은 그라디언트를 찾는 대신 역 LSQ 문제처럼 보입니다. 값을 찾을 수는 있지만 최소화가 아닌 을 사용해야합니다.1

추가 토론을 위해 이메일로 연락 할 수 있습니다 (사용자 프로필에서 찾을 수 있음). 문제를 어떻게 해결할 수 있는지 알고 싶습니다.
Johntra Volta
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.