save all
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
import trimesh
|
||||
import numpy as np
|
||||
|
||||
cases = [
|
||||
# ('06461_237_Trousers', 'temp/sampling_pyramid/06461_237_Trousers', [0,8,12,13]),
|
||||
# ('01171_213_Dress', 'temp/sampling_pyramid/01171_213_Dress', [0,6,10,15]),
|
||||
('01852_70_Tshirt_lvl_0', 'temp/sampling_pro_pyramid/01852_70_Tshirt', [15,10,1,5,13]),
|
||||
('01852_70_Tshirt_lvl_1', 'temp/sampling_pro_pyramid/01852_70_Tshirt', [15,14,3,5,0 ]),
|
||||
('01852_70_Tshirt_lvl_2', 'temp/sampling_pro_pyramid/01852_70_Tshirt', [15,12,0,8,6]),
|
||||
('01852_70_Tshirt_lvl_3', 'temp/sampling_pro_pyramid/01852_70_Tshirt', [15,2,8,1,0]),
|
||||
]
|
||||
|
||||
for case in cases:
|
||||
# Load the original mesh
|
||||
folder = case[1]
|
||||
original_mesh = trimesh.load(f'{folder}/{case[0]}_{case[2][0]}.stl')
|
||||
|
||||
# Load the variation meshes
|
||||
variation_meshes = []
|
||||
for i in case[2][1:]:
|
||||
variation_meshes.append(trimesh.load(f'{folder}/{case[0]}_{i}.stl'))
|
||||
|
||||
# Calculate area of original mesh
|
||||
# original_area = original_mesh.area
|
||||
|
||||
# Calculate area difference for each variation
|
||||
area_diffs = []
|
||||
for variation_mesh in variation_meshes:
|
||||
# calculate per vertex euclid distance
|
||||
euclid = np.linalg.norm(original_mesh.vertices - variation_mesh.vertices, axis=1) * 1000
|
||||
euclid_diff = np.mean(euclid)
|
||||
|
||||
|
||||
# area_diff = abs(variation_mesh.area - original_area) / original_area
|
||||
area_diffs.append(euclid_diff)
|
||||
|
||||
# Average area differences
|
||||
# avg_area_diff = np.mean(area_diffs)
|
||||
|
||||
variance = np.var(area_diffs)
|
||||
|
||||
# Print results
|
||||
print(f'Case: {case[0]}')
|
||||
# print('Original area:', original_area)
|
||||
print('Euclidean differences:', area_diffs)
|
||||
print('Euclidean variance:', variance)
|
||||
# print('Average Euclidean difference:', avg_area_diff)
|
||||
Reference in New Issue
Block a user