Как построить линию между двумя точками в 3D python - PullRequest
0 голосов
/ 28 мая 2020

Я сделал модель между красной точкой (сеткой) и синим треугольником (станцией) следующим образом:

enter image description here

Затем я хочу провести линию, соединяющую красные точки и 6 ближайших синих треугольников. Таким образом, каждая красная точка имеет как минимум 6 ближайших к ним синих треугольников.

Мои данные содержат x, y, z для каждой красной точки и треугольника

Вот код, который я использую для построения графика (без строка)

from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np


fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

#x =[1,2,3,4,5,6,7,8,9,10]
x = np.loadtxt("8krelok.txt")[:, 0] #long, lat, depth
y = np.loadtxt("8krelok.txt")[:, 1]
z = np.loadtxt("8krelok.txt")[:, 2]

x2 = np.loadtxt("stasiun.txt")[:, 0]
y2 = np.loadtxt("stasiun.txt")[:, 1]
z2 = np.loadtxt("stasiun.txt")[:, 2]

ax.scatter(x, y, z, c='r', marker='.', label = 'Grid')
ax.scatter(x2, y2, z2, c='b', marker='^', label = 'Station')

ax.set_xlabel('Longitude')
ax.set_ylabel('Latitude')
ax.set_zlabel('Depth')
ax.invert_zaxis()
plt.legend()
plt.show()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...