def plt_tri(vs, text_opt='off', **kwargs):
    ax = ax3d_handle(**kwargs)
    ax.scatter(vs[:, 0], vs[:, 1], vs[:, 2], c='#ff00ff')
    if (text_opt == 'on'):
        for i in range(3):
            ax.text(vs[(i, 0)], vs[(i, 1)], vs[(i, 2)], f'{(i + 1)}')
    line_order = (np.array([1, 2, 1, 3, 2, 3]).reshape((- 1), 2) - 1)
    line_vt = np.hstack((vs[line_order[:, 0]], vs[line_order[:, 1]]))
    lc = Line3DCollection(line_vt.reshape((- 1), 2, 3), colors='#9933ff')
    ax.add_collection(lc)
    return ax
def plt_tri(vs, text_opt='off', **kwargs):
    ax = ax3d_handle(**kwargs)
    ax.scatter(vs[:, 0], vs[:, 1], vs[:, 2], c='#ff00ff')
    if (text_opt == 'on'):
        for i in range(3):
            ax.text(vs[(i, 0)], vs[(i, 1)], vs[(i, 2)], f'{(i + 1)}')
    line_order = (np.array([1, 2, 1, 3, 2, 3]).reshape((- 1), 2) - 1)
    line_vt = np.hstack((vs[line_order[:, 0]], vs[line_order[:, 1]]))
    lc = Line3DCollection(line_vt.reshape((- 1), 2, 3), colors='#9933ff')
    ax.add_collection(lc)
    return ax