计算几何模板(2):线与线

本文深入解析了几何计算中的关键技巧,包括直线的表示方法、两直线交点的计算、点到直线及线段的距离、直线垂足的求解、线段相交判断以及点在线段上的判断,为计算机图形学与算法设计提供了实用的数学工具。

比点与向量部分要难一点,会有一定的技巧与证明。


 

1.首先是直线。

小学生都知道两点确定一条直线。

所以我们不用两点式,用点斜式。

一个直线上的点+一个向量=一条直线。

struct Line
{
    Point x;
    Vector v;
    Line(){}
    Line(Point x,Vector v):x(x),v(v){}
};
直线

2.两直线求交点

我们知道两直线是这样的:

求点$C$。

现在来做几条辅助线:

现在新产生了三个三角形,两大一小。

两个大的面积相等,因为同底等高。

所以面积可求,$AC$可求。

Point L_L(Line a,Line b)
{
    double t = (b.v^(b.x-a.x))/(b.v^a.v);
    return a.x+a.v*t;
}
两直线交点

 3.点到直线距离

有标准式方程就可以套公式了,但是我们只有(假的)点斜式。

其实更简单,搞个三角形叉积求面积,然后求高就好了。

就像这样:

(叉积求的是有向面积,结果要加绝对值)

double Dis_P_L(Point p,Line l)
{
    return fabs((l.v^(p-l.x))/lth(l.v));
}
点->直线

4.点到线段

(线段直接用端点给出)

端点处有钝角=垂足不在线段上。

钝角直接用$sin$值判。

double Dis_P_S(Point p,Point a,Point b)
{
    if(a==b)return lth(p-a);
    Vector v1 = b-a,v2 = p-a,v3 = p-b;
    if(v1*v2<=0)return lth(v2);
    else if(v1*v3>=0)return lth(v3);
    else return (v1^v2)/lth(v1);
}
点->线段

5.过定点求直线垂足(非人语

依然是面积法,与上面那个差不多(?)就不证了。

Point P_L(Point p,Line l)
{
    return l.p+l.v*(((p-l.x)*l.v)/(l.v*l.v));
}
求垂足

6.线段是否相交(交点不在端点上)

相交和不相交:

然后连起来:

所以判对于任意一条线段,另一条线段的两端点是否在其两侧即可。

bool S_S(Point a1,Point a2,Point b1,Point b2)
{
    double d1 = (a2-a1)^(b1-a1),d2 = (a2-a1)^(b2-a1);
    double d3 = (b2-b1)^(a1-b1),d4 = (b2-b1)^(a2-b1);
    return dcmp(d1)*dcmp(d2)<0&&dcmp(d3)*dcmp(d4)<0;
}
线段相交

7.点在线段上(不能在端点上)

叉积判点在直线上,点积判端点在其两侧。

bool P_S(Point p,Point a,Point b)
{
    Vector A = a-p,B = b-p;
    return dcmp(A*B)==0&&dcmp(A^B)<0;
}
点与线段

转载于:https://www.cnblogs.com/LiGuanlin1124/p/10961997.html

当前,全球经济格局深刻调整,数字化浪潮席卷各行各业,智能物流作为现代物流发展的必然趋势和关键支撑,正迎来前所未有的发展机遇。以人工智能、物联网、大数据、云计算、区块链等前沿信息技术的快速迭代深度融合为驱动,智能物流不再是传统物流的简单技术叠加,而是正在经历一场从自动化向智能化、从被动响应向主动预测、从信息孤岛向全面互联的深刻变革。展望2025年,智能物流系统将不再局限于提升效率、降低成本的基本目标,而是要构建一个感知更全面、决策更精准、执行更高效、协同更顺畅的智慧运行体系。这要求我们必须超越传统思维定式,以系统化、前瞻性的视角,全面规划和实施智能物流系统的建设。本实施方案正是基于对行业发展趋势的深刻洞察和对未来需求的精准把握而制定。我们的核心目标在于:通过构建一个集成了先进感知技术、大数据分析引擎、智能决策算法和高效协同平台的综合智能物流系统,实现物流全链路的可视化、透明化和智能化管理。这不仅是技术层面的革新,更是管理模式和服务能力的全面提升。本方案旨在明确系统建设的战略方向、关键任务、技术路径和实施步骤,确保通过系统化部署,有效应对日益复杂的供应链环境,提升整体物流韧性,优化资源配置效率,降低运营成本,并最终为客户创造更卓越的价值体验。我们致力于通过本方案的实施,引领智能物流迈向更高水平,为构建现代化经济体系、推动高质量发展提供强有力的物流保障。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值