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) |
留言
張貼留言