【发布时间】:2013-04-02 14:56:08
【问题描述】:
在裁剪算法中,有许多技术,例如用于 2D 线裁剪的 Cohen-Sutherland、Cyrus-Beck 算法,还有许多其他用于圆形和多边形的技术。但我正在寻找一种将线条剪辑到 C++ 中的三角形窗口的方法,如下图所示:
所以我有三种情况,第一种是线在必须绘制的三角形内部,第二种情况是在三角形外部,不能绘制,第三种情况线在三角形内部有一个端点,第二种情况在外部需要将其裁剪到三角形边框,那么就处理性能而言,最好的方法是什么?!
【问题讨论】:
-
还有第四种情况,线的两端都在三角形的外面,但是线穿过了三角形的边界。 (考虑案例 1,但在两个方向上延长线)你关心这个案例吗?
-
你说的这个case属于in或out的其他两个case之一,也属于某种in的逻辑。
-
点积,很多点积。 :)
-
不要忘记直线与三角形的其中一条边完全相同的边界情况。
-
@jkerian 还有一个,该线段位于其中一侧。 :)