c++ - C++:如何知道一个点是否与两条线段相交?
问题描述
我有两个由它们的方程给出的线段 A1x + B1y + C1 = 0
和A2x + B2y + C2 = 0
,这两个线段的交点坐标I
可以计算如下:
x1 =B2*C1 − B1*C2 / A2*B1 − A1*B2
y1 =A1*C2 − A2*C1 / A2*B1 − A1*B2
我正在使用双值,如何知道I=(x1,y1)
两条线段是否相交?
我尝试替换线段方程中x1
和的值,y1
但它似乎不起作用
解决方案
你需要括号:
x1 = (B2*C1 − B1*C2) / (A2*B1 − A1*B2);
y1 = (A1*C2 − A2*C1) / (A2*B1 − A1*B2);
推荐阅读
- haskell - 什么是运算符 (.&.) 和 (.|.)?
- html - 当滚动到达页面的某个点时,使用其他内容进行位置固定的 div 滚动
- javascript - React 对选中的复选框项目的价格进行汇总
- java - 如何使用 IKVM.NET 将 .JAR 文件转换为 .dll 文件?
- reactjs - React 测试库 - userEvent 上传到输入:“找不到 toLowerCase”
- android - AccountManager 退回华为帐号,即使帐号已注销
- javascript - 从承诺中提取价值
- sql - 如何在 BigQuery SQL 中混合使用 IF 和 CASE
- android - 使用 In-App Promo SDK 建议快捷方式
- python - 如何在 Django 中一次更新所有记录