ioOBJ.py 文件源码

python
阅读 25 收藏 0 点赞 0 评论 0

项目:iutils 作者: inconvergent 项目源码 文件源码
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
  }
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号