Sto cercando di tracciare contemporaneamente un piano e alcuni punti in 3D con Matplotlib. Non ho errori, solo il punto non apparirà. Posso tracciare in momenti diversi punti e piani ma mai allo stesso tempo. La parte del codice è simile:Matplotlib - Traccia un piano e punti in 3D contemporaneamente
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
point = np.array([1, 2, 3])
normal = np.array([1, 1, 2])
point2 = np.array([10, 50, 50])
# a plane is a*x+b*y+c*z+d=0
# [a,b,c] is the normal. Thus, we have to calculate
# d and we're set
d = -point.dot(normal)
# create x,y
xx, yy = np.meshgrid(range(10), range(10))
# calculate corresponding z
z = (-normal[0] * xx - normal[1] * yy - d) * 1. /normal[2]
# plot the surface
plt3d = plt.figure().gca(projection='3d')
plt3d.plot_surface(xx, yy, z, alpha=0.2)
#and i would like to plot this point :
ax.scatter(point2[0] , point2[1] , point2[2], color='green')
plt.show()
correlati: https://stackoverflow.com/questions/13464304/how-can-i-plot-a-3d-plane-in-matlab/13473027#13473027 –
@AndreyRubshtein come è correlato? La domanda a cui ci si riferisce è 'matlab', si tratta di' matplotlib' – tom
Ehi @tom, ha una spiegazione sulla formula matematica, quella che viene chiamata 'Calcola corrispondente z' nella domanda originale –