QT 求兩條直線交點座標

基本的座標

Qt graphwidget 顯示

計算步驟

1. 利用A, B 兩點及C, D形成兩條直線求焦點座標

注意 4 個點的座標需要一致的格式
避免 Qt 座標及一般座標混用

備註:將 Qt 座標 y 值加上負號即可轉換

2. 公式
QPointF 檔案::getIntersectPos(QPointF posA, QPointF posB, QPointF posC, QPointF posD)
{
    QLineF line1(posA, posB);
    QLineF line2(posC, posD);
    QPointF interPos(0,0);
    QLineF::IntersectType type = line1.intersect(line2, &interPos);
    if (type != QLineF::BoundedIntersection)
        interPos = QPointF(0, 0);
    return interPos;
}
若有交點會回傳 QPointF 座標,無則回傳 (0, 0)

3. 注意是點與點之間的線段交點,超出則回傳 (0, 0)
A, B兩點線段可以與 C,D 兩點線段相交
但此種狀況會回傳(0, 0)

留言

熱門文章

2021 Google Play Console 上架更新,Android APP 審核需要多久,Android APP Bundle

2021申請 Android Developer 開發者帳號及上架步驟

Generate Signed Bundle / APK(s) & Bundle Tool 基本使用 & .aab安裝方式