zoukankan      html  css  js  c++  java
  • 【笔记】 如何求直线交点(详细揭秘) 计算几何

    这是一篇灌水博客。

    定义一条射线有一个起始位置 (oldsymbol p) 和一个方向向量 (oldsymbol d),记作 (<oldsymbol p,oldsymbol d>)

    一条直线就可以表示为这条射线所在的直线。

    一条线段也可以用这个形式表示。

    一个半平面就可以表示为这条有向直线的左侧平面。

    那么如何判断两条直线的交点呢?

    例题一、给定两直线 (<oldsymbol p_1,oldsymbol d_1>,<oldsymbol p_2,oldsymbol d_2>),求出它们的交点坐标。

    一个直观而又显而易见的做法是解直线方程——但这太麻烦了。除过来除过去还要特判分母是不是 (0)

    当初向计算几何引入向量就是为了避免这些麻烦的,我们不妨用向量来做。

    设两直线分别过 (AB)(CD),如图所示:

    由于交点 (E) 在直线 (CD) 上,根据高中数学可以知道,(vec {OE}=k vec{OC}+(1-k) vec{OD})

    其中 (k:1-k=|EC|:|ED|)

    显然 (|EC|:|ED|) 可以看成 (S_{ riangle ABD}:S_{ riangle ABC}),于是就做完了。

  • 相关阅读:
    IOC
    paxos算法
    搜索引擎相关
    java常识
    Redis相关概念
    Keepalived简单理解
    LVS简单理解
    dbproxy
    用不上索引的sql
    二叉树、B树、B+树、B*树、VAL树、红黑树
  • 原文地址:https://www.cnblogs.com/imakf/p/13829817.html
Copyright © 2011-2022 走看看