generate.py 文件源码

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

项目:roboschool 作者: openai 项目源码 文件源码
def convex_hull(points, vind, nind, tind, obj):
    "super ineffective"
    cnt = len(points)
    for a in range(cnt):
        for b in range(a+1,cnt):
            for c in range(b+1,cnt):
                vec1 = points[a] - points[b]
                vec2 = points[a] - points[c]
                n  = np.cross(vec1, vec2)
                n /= np.linalg.norm(n)
                C = np.dot(n, points[a])
                inner = np.inner(n, points)
                pos = (inner <= C+0.0001).all()
                neg = (inner >= C-0.0001).all()
                if not pos and not neg: continue
                obj.out.write("f %i//%i %i//%i %i//%i\n" % ( 
                    (vind[a], nind[a], vind[b], nind[b], vind[c], nind[c])
                    if (inner - C).sum() < 0 else
                    (vind[a], nind[a], vind[c], nind[c], vind[b], nind[b]) ) )
                #obj.out.write("f %i/%i/%i %i/%i/%i %i/%i/%i\n" % ( 
                #   (vind[a], tind[a], nind[a], vind[b], tind[b], nind[b], vind[c], tind[c], nind[c])
                #   if (inner - C).sum() < 0 else
                #   (vind[a], tind[a], nind[a], vind[c], tind[c], nind[c], vind[b], tind[b], nind[b]) ) )
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号