def load(fn):
from codecs import open
from numpy import row_stack
vertices = []
faces = []
lines = []
with open(fn, 'r', encoding='utf8') as f:
for l in f:
if l.startswith('#'):
continue
values = l.split()
if not values:
continue
if values[0] == 'v':
vertices.append([float(v) for v in values[1:]])
if values[0] == 'f':
face = [int(v.split('//')[0])-1 for v in values[1:]]
faces.append(face)
if values[0] == 'l':
line = [int(v.split('//')[0])-1 for v in values[1:]]
lines.append(line)
try:
faces = row_stack(faces)
except ValueError:
faces = None
return {
'faces': faces,
'vertices': row_stack(vertices),
'lines': lines
}
评论列表
文章目录