Spaces:
Running
Running
rot
Browse files- gradio_demo.py +12 -2
gradio_demo.py
CHANGED
|
@@ -89,10 +89,20 @@ def mesh_gen(tmp_dir, simplify, num_inference_steps):
|
|
| 89 |
|
| 90 |
mesh = trimesh.load_mesh(f"{tmp_dir}/mesh.ply")
|
| 91 |
vertex_normals = mesh.vertex_normals
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 92 |
colors = (-vertex_normals + 1) / 2.0
|
| 93 |
colors = (colors * 255).astype(np.uint8) # Convert to 8-bit color
|
| 94 |
-
print(colors.shape)
|
| 95 |
-
mesh.visual.vertex_colors = colors[..., [
|
| 96 |
mesh.export(f"{tmp_dir}/mesh_normal.ply", file_type="ply")
|
| 97 |
|
| 98 |
color_path = ply_to_glb(f"{tmp_dir}/mesh.ply")
|
|
|
|
| 89 |
|
| 90 |
mesh = trimesh.load_mesh(f"{tmp_dir}/mesh.ply")
|
| 91 |
vertex_normals = mesh.vertex_normals
|
| 92 |
+
theta = np.radians(-90) # Rotation angle in radians
|
| 93 |
+
cos_theta = np.cos(theta)
|
| 94 |
+
sin_theta = np.sin(theta)
|
| 95 |
+
rotation_matrix = np.array([
|
| 96 |
+
[cos_theta, -sin_theta, 0],
|
| 97 |
+
[sin_theta, cos_theta, 0],
|
| 98 |
+
[0, 0, 1]
|
| 99 |
+
])
|
| 100 |
+
rotated_normal = np.dot(vertex_normals, rotation_matrix.T)
|
| 101 |
+
rotated_normal = rotated_normal / np.linalg.norm(rotated_normal)
|
| 102 |
colors = (-vertex_normals + 1) / 2.0
|
| 103 |
colors = (colors * 255).astype(np.uint8) # Convert to 8-bit color
|
| 104 |
+
# print(colors.shape)
|
| 105 |
+
mesh.visual.vertex_colors = colors[..., [2, 1, 0]] # RGB -> BGR
|
| 106 |
mesh.export(f"{tmp_dir}/mesh_normal.ply", file_type="ply")
|
| 107 |
|
| 108 |
color_path = ply_to_glb(f"{tmp_dir}/mesh.ply")
|