Как в теме. У меня есть карта высот, и я хочу рассчитать точную высоту на одном квадрате карты высот. Каждый квадрат имеет 4 высоты, по одному для каждого угла.Расчет высоты на карте высот
Например:
0---4 4---4
----- -----
--A-- --A--
----- -----
0---0 0---0
В обоих случаях точка А должна быть на высоте 2.
8---4 4---4 0---8
----- ----- -----
--B-- --B-- --B--
----- ----- -----
0---0 4---4 8---0
В каждом случае точка B должна быть на высоте 4.
8---4 8---8
----- -----
--C-- --C--
----- -----
4---8 4---8
В обоих случаях точка C должна быть на высоте 6.
Я считаю, что правильная формула для любой точки в середине (например, A, B, C) является (псевдокод):
00 = bottom left corner height
10 = bottom right corner height
01 = top left corner height
11 = top right corner height
height = (Math.min(00, 10, 01, 11)+Math.max(00, 10, 01, 11))/2;
Как я могу вычислить эту высоту для любой точки в любом месте?
Если верхний левый 2 для второй карты, то какова должна быть высота A? –
В этом случае высота будет равна 2. – Mac70
Итак, линия из верхнего левого угла в A в случае @ Ziyao была бы плоской? Это не имеет смысла - для получения алгоритма необходима более конкретная информация. Существует несколько способов экстраполяции информации о высоте между четырьмя определенными точками. – torquestomp