Scusate, così dovrebbe andare bene
import sympy
from sympy import*
from sympy.plotting import *
from mpl_toolkits import mplot3d
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
x, y, z, = symbols("x, y, z")
t, s = symbols("t, s")
def par_points(n, t, phi):
points_dx = [] #lista vuota di punti
points_sx = [] #lista vuota di punti
for i in range(0, n):
dfx = 0 + phi
dfy_dx = i*t
dfy_sx = -1*dfy_dx
dfz = (i*-t)**2
points_dx.append([dfx, dfy_dx, dfz])
points_sx.append([dfx, dfy_sx, dfz])
return points_dx, points_sx
print("Definiamo una funzione che disegna la retta per due punti")
import numpy as np
import sympy
from sympy import *
from sympy.plotting import *
def get_plot_line(A0, B0, I=[-10, 10]):
A = np.array(A0)
B = np.array(B0)
v = A-B
# mi accorgo che mi serve sympy
s = symbols("s")
rs = A + v*s # raggio vettore dipendente da t
return plot3d_parametric_line(rs[0], rs[1], rs[2], (s, I[0], I[1]), show=False)
p=get_plot_line(p1[1],p2[1],[-10,10])
p.show()
print("disegno una retta per due punti")
p1 = get_plot_line([-1, 3, 9], [0, 5, -2], [-5, 5])
p1.show()
N = 25
t = 1
phi = 10
# creo le 2 N-uple di punti sulle circoferenze
par1 = par_points(N, t, 0)
par2 = par_points(N, t, phi)
# creo un grafico vuoto
P1 = sympy.plotting.plot(show=False)
# riempio il grafico con le N rette
for i in range(0,N):
P1.extend( get_plot_line(par1, par2) )
# mostro il grafico
P1.show()