bool on_left(const Line& l, const Vector2& p)
{
    // 点 p 是否在有向直线 l 左侧
    return l.b.cross(p - l.a) > EPS;
} 

解释这段代码
user
这段代码实现了一个函数 on_left，用于判断一个二维向量 p 是否在有向直线 l 的左侧。

函数的输入参数包括一个 Line 类型的对象 l，表示一条有向直线，以及一个 Vector2 类型的对象 p，表示一个二维向量（点）。

函数的返回值是一个布尔值，如果向量 p 在有向直线 l 的左侧，则返回 true，否则返回 false。

具体的判断方法是通过计算向量 pb 和向量 pa 的叉积来判断向量 p 是否在有向直线 l 的左侧，其中 pb 表示向量 p 和直线 l 终点 b 形成的向量，pa 表示向量 p 和直线 l 起点 a 形成的向量。叉积的结果大于 EPS 时，即可判断向量 p 在有向直线 l 的左侧。

需要注意的是，这里的 EPS 是一个极小的数值，可能表示浮点数运算的误差范围，避免因为浮点数精度问题导致的错误判断。
assistant