У меня есть поверхность, которая определяется списком значений x и y с назначенной им высотой.Непрерывная поверхность построена с помощью сплайн-методов, поэтому в конце я получу высоту всех возможных (x, y).У меня также есть точка и единичный вектор (полученный из этой точки).Мне нужно найти точку, где линия (сделанная из этого единичного вектора) попадает на мою поверхность.У меня возникли проблемы с построением этой линии (и я не уверен, если это необходимо) и найти самый быстрый способ получить пересечение.Спасибо за вашу помощь.
РЕДАКТИРОВАТЬ
Это пример моих координат и код , которые мне посоветовали написать, чтобы иметь мою поверхность.
Z=[]
Z.append([20.2, 20.1, 35])
Z.append([20.1, 24.5, 36])
Z.append([21.0, 23.2, 33])
Z.append([22.3, 20.0, 34])
Z.append([22.3, 19.5, 28])
Z.append([20.1, 19.5, 27])
Z.append([20.1, 24.6, 31])
Z.append([22.3, 24.6, 32])
# ---------------------------
xin=np.array(Z)[:,0];
yin=np.array(Z)[:,1];
zin=np.array(Z)[:,2];
# ----------------------------
xout=np.linspace(20.,23.,10);
yout=np.linspace(19.,25.,10);
xout,yout = np.meshgrid(xout,yout);
# ----------------------------
zout=griddata((xin,yin),zin,(xout,yout),'cubic');
# -----------------------------
from pylab import pcolormesh,show
pcolormesh(xout,yout,zout);show();
Допустим, у меня есть точка (21,0, 20,0, 60), и она повернута на 9 градусов к северу, на 2 градуса к востоку (здесь 21,0 представляет долготу, 20,0 - широту, 60 - высоту).