I want to find the coordinates of the vertices of a cube with given central coordinates (Xc,Yc,Zc) and length (SL)
def vertices(Xc,Yc,Zc,SL):
f1 = [(0.5*SL) Xc,Yc,Zc]
f2 = [(0.5*SL)- Xc,Yc,Zc]
x1 = [f1[0],(f1[1])-(0.5*SL), (f1[2]) (0.5*SL)]
x2 = [f1[0],(f1[1]) (0.5*SL), (f1[2]) (0.5*SL)]
x3 = [f1[0],(f1[1])-(0.5*SL), (f1[2])-(0.5*SL)]
x4 = [f1[0],(f1[1]) (0.5*SL), (f1[2])-(0.5*SL)]
x5 = [f2[0],(f2[1])-(0.5*SL), (f2[2]) (0.5*SL)]
x6 = [f2[0],(f2[1]) (0.5*SL), (f2[2]) (0.5*SL)]
x7 = [f2[0],(f2[1])-(0.5*SL), (f2[2])-(0.5*SL)]
x8 = [f2[0],(f2[1]) (0.5*SL), (f2[2])-(0.5*SL)]
return x1,x2,x3,x4,x5,x6,x7,x8
x1,x2,x3,x4,x5,x6,x7,x8 = vertices(5,5,5,8)
CodePudding user response:
It's best if you return a list with 8 points (sublists) than 8 different variables.
From the caller perspective it will be the same, you can still unpack it as 8 different variables.
def vertices(Xc,Yc,Zc,SL):
return [[Xc SL/2, Yc SL/2, Zc SL/2],
[Xc SL/2, Yc SL/2, Zc - SL/2],
[Xc SL/2, Yc - SL/2, Zc SL/2],
[Xc SL/2, Yc - SL/2, Zc - SL/2],
[Xc - SL/2, Yc SL/2, Zc SL/2],
[Xc - SL/2, Yc SL/2, Zc - SL/2],
[Xc - SL/2, Yc - SL/2, Zc SL/2],
[Xc - SL/2, Yc - SL/2, Zc - SL/2]]