57 for j
in range(len(mesh.normals)):
71 vd = np.array( [ [x_1, y_1, z_1, 1],
75 V_j = - (1./6.) * np.linalg.det(vd)
77 a += V_j * ( y_1**2 + y_1*y_2 + y_2**2 + y_1*y_3 + y_2*y_3 +
78 y_3**2 + y_1*y_4 + y_2*y_4 + y_3*y_4 + y_4**2 +
79 z_1**2 + z_1*z_2 + z_2**2 + z_1*z_3 + z_2*z_3 +
80 z_3**2 + z_1*z_4 + z_2*z_4 + z_3*z_4 + z_4**2 ) / 10.
82 b += V_j * ( x_1**2 + x_1*x_2 + x_2**2 + x_1*x_3 + x_2*x_3 +
83 x_3**2 + x_1*x_4 + x_2*x_4 + x_3*x_4 + x_4**2 +
84 z_1**2 + z_1*z_2 + z_2**2 + z_1*z_3 + z_2*z_3 +
85 z_3**2 + z_1*z_4 + z_2*z_4 + z_3*z_4 + z_4**2 ) / 10.
87 c += V_j * ( x_1**2 + x_1*x_2 + x_2**2 + x_1*x_3 + x_2*x_3 +
88 x_3**2 + x_1*x_4 + x_2*x_4 + x_3*x_4 + x_4**2 +
89 y_1**2 + y_1*y_2 + y_2**2 + y_1*y_3 + y_2*y_3 +
90 y_3**2 + y_1*y_4 + y_2*y_4 + y_3*y_4 + y_4**2 ) / 10.
92 a_p += V_j * ( 2*y_1*z_1 + y_2*z_1 + y_3*z_1 + y_4*z_1 + y_1*z_2 +
93 2*y_2*z_2 + y_3*z_2 + y_4*z_2 + y_1*z_3 + y_2*z_3 +
94 2*y_3*z_3 + y_4*z_3 + y_1*z_4 + y_2*z_4 + y_3*z_4 +
97 b_p += V_j * ( 2*x_1*z_1 + x_2*z_1 + x_3*z_1 + x_4*z_1 + x_1*z_2 +
98 2*x_2*z_2 + x_3*z_2 + x_4*z_2 + x_1*z_3 + x_2*z_3 +
99 2*x_3*z_3 + x_4*z_3 + x_1*z_4 + x_2*z_4 + x_3*z_4 +
102 c_p += V_j * ( 2*x_1*y_1 + x_2*y_1 + x_3*y_1 + x_4*y_1 + x_1*y_2 +
103 2*x_2*y_2 + x_3*y_2 + x_4*y_2 + x_1*y_3 + x_2*y_3 +
104 2*x_3*y_3 + x_4*y_3 + x_1*y_4 + x_2*y_4 + x_3*y_4 +
107 return density * np.array([[a, -b_p, -c_p],[ -b_p, b, -a_p],[ -c_p, -a_p, c]])
def ClumpTOIFromMesh(mesh, density)
Definition: InertiaComputationsMixed.py:48