i have a surface descrived by a matrix 100x3( 3d surface). How i can create a surface from this array
i put this code but dont work:
import plotly.graph_objects as go
import numpy as np
# 1 --------------------------------------
fck = 35 ; fctm = 0.3*abs(fck) ; fyk = 450.0 ; c = 30.0
s1 = np.asarray([[1,1,1]]) ; #print(s1.shape)
for x1 in range(1,500,50) :
for x2 in range(1,500,50) :
if 0.26*(fctm/fyk)*x2*(x1-c) > 0 :
s = np.array([[x1,x2,0.26*(fctm/fyk)*x2*(x1-c)]]) ; #print(s,s.shape)
s1 = np.append(s1, s, axis=0)
s1 = np.delete(s1, 0, 0) ; s1 =
# 2 --------------------------------------
s2 = np.asarray([[1,1,1]]) ; #print(s1.shape)
for x1 in range(1,500,50) :
for x2 in range(1,500,50) :
if 0.0013*(x2*(x1-c)) > 0 :
s = np.array([[x1,x2,0.0013*(x2*(x1-c))]]) ; #print(s,s.shape)
s2 = np.append(s2, s, axis=0)
s2 = np.delete(s2, 0, 0)
# 7 --------------------------------------
s7 = np.asarray([[1,1,1]]) ; #print(s1.shape)
for x1 in range(0,500,50) :
for x2 in range(0,500,50) :
s = np.array([[x1,x1,1.4*x1*x2/fyk]]) ; #print(s,s.shape)
s7 = np.append(s7, s, axis=0)
s7 = np.delete(s7, 0, 0)
fig = go.Figure(data=[
go.Surface(x=s1[:,0],y=s1[:,1],z=s1[:,2]),
go.Surface(x=s2[:,0],y=s2[:,1],z=s2[:,2], showscale=False, opacity=0.9),
go.Surface(x=s7[:,0],y=s7[:,1],z=s7[:,2], showscale=False, opacity=0.9)
])
fig.show()