我有一个四边形类型,定义为:
typedef struct __point {
float x;
float y;
} point_t;
typedef struct __quad {
point_t p1;
point_t p2;
point_t p3;
point_t p4;
} quad_t;
如果我在同一平面上有两个这样的四边形,我希望能够计算出这些四边形的交点。例如,如果我们有四边形 A和四边形 B,如果 B 的任何点落在 A 之外,算法应该产生一个四边形,其点如下图所示(A 为红色,B 为紫色):
编辑:点的顺序并不重要,因为我稍后将使用这些点来构造一个将在 A 内绘制的四边形。