Как построить 3D воксели с заданными координатами на сфере, используя matplotlib - PullRequest
0 голосов
/ 13 февраля 2019

В настоящее время я пытаюсь создать трехмерный график вокселей с известными координатами на сфере.Координаты x, y и z являются списками, отфильтрованными из CSV.Кроме того, у меня есть еще один список с такой же длиной, как x, y и z, содержащий цвет вокселя.С помощью этого списка я хочу создать трехмерную сферу вокселей.

Это я уже выполнил, используя трехмерный график рассеяния (matplotlib), но результат не очень ясен:

x = []
y = []
z = []
c = []
red = (1, 0, 0, 1)
green = (0, 1, 0, 1)
blue = (0, 0, 1, 1)
black = (0, 0, 0, 1)

for i in range(len(result)):
    x.append(20 * math.sin(math.radians(90 - result[i][1])) * math.cos(math.radians(result[i][0])))
    y.append(20 * math.sin(math.radians(90 - result[i][1])) * math.sin(math.radians(result[i][0])))
    z.append(20 * math.cos(math.radians(90 - result[i][1])))
    if result[i][2] == 1000:
        c.append(black)
    elif result[i][2] > 500:
        c.append(red)
    elif 200 < result[i][2] <= 500:
        c.append(blue)
    else:
        c.append(green)

fig = pyplot.figure()
ax = Axes3D(fig)
ax.grid(True)
ax.scatter(x, y, z, c=c, s=500)
pyplot.show()

3D-Scatter

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...