2010-11-19 3 views
0

안녕하십니까시각적 기본 배열에서 값 보간을 수행하는 방법은 무엇입니까?

특정 거친 정도 (알고있는 등고선 간격)가있는 균일 한 지형이있는 경우 특정 지점 주변의 그리드가 알려지지 않은 경우 어떻게 보간을 수행 할 수 있습니까?

예를 들어 시작 고도가 105m이고 등고선 간격이 0.2m 인 경우입니다. 또한 7x7 그리드 (VB에서 배열, TERR (6,6)) 사용할 수있는 경우. 105의 위치는 TERR (4,3) 인 경우 다음 주위의 다른 값이 0.2의 값으로 감소되어야하며,이 같은 모양을 :

104.2 104.2 104.2 104.2 104.2 104.2 104.2

104.4 104.4 104.4 104.4 104.4 104.4 104.4

104.4 104.6 104.6 104.6 104.6 104.6 104.4

104.4 104.6 104.8 104.8 104.8 104.6 104.4

104.4 104.6 104.8 104.8 104.6 104.4 105

104.4 104.6 104.8 104.8 104.8 104.6 104.4

104.4 104.6 104.6 104.6 104.6 104.6 104.4

어레이의 수의 분포가 시작 고도의 위치 및 배열의 ​​크기를 변화시킴으로써 달라질 (그리드).

많은 기사와 보간법 (이웃, 입방체, 쌍 선형 등 ...)을 발견했지만 아무도이 문제에 충분히 근접하지 않았습니다.

감사합니다.

답변

2

이것은 모서리가있는 피라미드 모양입니다.

원뿔처럼 보이게하려면 x 또는 y 거리가 아닌 직접 거리를 기준으로 값을 계산할 수 있습니다. 이 예제에서 수평 및 수직 값 (105에 대한 상대 값)은 현재와 동일합니다. 그러나 TERR (4,3)에서 TERR (3,2)까지는 sqrt (1^2 + 1^2) 또는 1.414의 "거리"가됩니다. 1.414 0.2 TERR 할당 (3,2) 기지 값 브로에서 105-0.2828 값 = 알려진 값 DY에서

102.7272는 DX = X의 거리 = Y 거리 = 알려진 값 dval = 차분 그래서 여러 1의 거리에있는 값 TERR (dx, dy) = val + sqrt (dx^2 + dy^2)

이것은 간단하고 선형입니다. 포인트에 부드러운 3D 커브를 적용하는 데는 여러 가지 방법이 있지만 더 많은 정보 입력이 필요하며이를 수행하는 방법이 많이 있습니다.

관련 문제