randomwalk.py 文件源码

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

项目:nanopores 作者: mitschabaude 项目源码 文件源码
def polygon_patches(self, cyl=False):
        poly_settings = dict(closed=True, facecolor="#eeeeee", linewidth=1.,
                        edgecolor="k")
        ball_settings = dict(facecolor="#aaaaaa", linewidth=1., edgecolor="k",
                             alpha=0.5)
        ball_bind_zone_settings = dict(facecolor="#ffaaaa", linewidth=0.,
                                       alpha=0.5)
        patches = []
        for dom in self.domains:
            domp = dom.domain
            if isinstance(domp, Polygon):
                polygon = domp.nodes
                polygon = np.array(polygon)
                patches.append(mpatches.Polygon(polygon, **poly_settings))
                if not cyl:
                    polygon_m = np.column_stack([-polygon[:,0], polygon[:,1]])
                    patches.append(mpatches.Polygon(polygon_m, **poly_settings))
            elif isinstance(domp, Ball):
                xy = domp.x0[0], domp.x0[2]
                if dom.binding and dom.bind_type == "zone":
                    p1 = mpatches.Circle(xy, domp.r + dom.ra,
                                         **ball_bind_zone_settings)
                    p1.set_zorder(-100)
                    patches.append(p1)

                p = mpatches.Circle(xy, domp.r, **ball_settings)
                p.set_zorder(200)
                patches.append(p)
        return patches
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号