私は次のように定義されているクワッドタイプを持っています:
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;
同じ平面上にこれらのクワッドが2つある場合、それらのクワッドの交点を計算できるようにしたいと思います。たとえば、クワッドAとクワッドBがある場合、BのポイントのいずれかがAの外側にあると、アルゴリズムは次の図に示すようにポイントを持つクワッドを生成する必要があります(Aは赤、Bは紫)。
編集:ポイントの順序は重要ではありません。後でこれらのポイントを使用して、A内に描画されるクワッドを作成するためです。