<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      計算幾何之兩條線段的交點

      1. 概述

      可以通過線段的跨立實驗[1]判斷兩條線段是否相交,但是想要進一步求它們的交點還是比較麻煩。[2]給出的方法更加簡單,其原理來自求三維空間兩條線段的交點[3]。為了更好的理解,本文將詳細介紹二維空間兩條線段的交點求解過程。

      2. 兩條線段交點求解過程

      給定兩條線段\(\overline{P_1 P_2}\)\(\overline{P_3 P_4}\),端點表示為\(P_1(x_1,y_1)\)\(P_2(x_2,y_2)\)\(P_3(x_3,y_3)\)\(P_4(x_4,y_4)\),兩條線段對應的向量表示為\(\overrightarrow{P_1 P_2}\)\(\overrightarrow{P_3 P_4}\)。假設兩條線段的交點為\(P_0(x_0,y_0)\),且\(t=\frac{|\overline{P_1 P_0}|}{|\overline{P_1 P_2}|}\)\(s=\frac{|\overline{P_3 P_0}|}{|\overline{P_3 P_4}|}\),那么 \(P_0\) 可以表示為:

      \[\begin{cases} P_0=P_1 + t * \overrightarrow{P_1 P_2} , 0\leq t \leq 1 \\ P_0=P_3 + s * \overrightarrow{P_3 P_4} , 0\leq s \leq 1 \end{cases} \]

      \(t\)\(s\)在等于\(0\)\(1\)時表示兩條線段相交在端點,如果為其他值,表示兩條線段不相交。將點坐標代入公式得:

      \[\begin{cases} x_1 + t * (x_2 - x_1) = x_3 + s * (x_4 - x_3) \\ y_1 + t * (y_2 - y_1) = y_3 + s * (y_4 - y_3) \end{cases} \]

      利用公式消元法求得\(t\)\(s\)

      \[\begin{aligned} t = \frac{ (x_3 - x_1)(y_4 - y_3) - (y_3 - y_1)(x_4 - x_3) }{ (x_2 - x_1)(y_4 - y_3) - (y_2 - y_1)(x_4 - x_3) } \\ s = \frac{ (x_3 - x_1)(y_2 - y_1) - (y_3 - y_1)(x_2 - x_1) }{ (x_2 - x_1)(y_4 - y_3) - (y_2 - y_1)(x_4 - x_3)} \end{aligned} \]

      \(t\)\(s\)方程的分子和分母都是向量的叉乘:

      \[\begin{aligned} t = \frac{ \overrightarrow{P_3 P_1} * \overrightarrow{P_4 P_3} } { \overrightarrow{P_2 P_1} * \overrightarrow{P_4 P_3} } \\ s = \frac{ \overrightarrow{P_3 P_1} * \overrightarrow{P_2 P_1} }{ \overrightarrow{P_2 P_1} * \overrightarrow{P_4 P_3} } \end{aligned} \]

      如果\(\overrightarrow{P_2 P_1} * \overrightarrow{P_4 P_3} = 0\),表示兩條線段平行,如果端點在另一條線段上,則該端點為交點,否則不是。如果\(t\)\(s\)有一個沒有落在區間\([0,1]\)內,則兩條線段不相交。那么交點\(P_0\)的坐標為:

      \[\begin{cases} x_0 = x_1 + t*(x_2 - x_1) \\ y_0 = y_1 + t*(y_2 - y_1) \end{cases} \]

      \[\begin{cases} x_0 = x_3 + s*(x_4 - x_3) \\ y_0 = y_3 + s*(y_4 - y_3) \end{cases} \]

      至此,整個求解過程介紹完成,再去看[2]的代碼就非常容易理解了。

      參考文獻

      1. How to check if two given line segments intersect?

      2. Find the Intersection Point of Two Line Segments

      3. Intersections of Lines In Three-Space  - Jon Garvin

      posted @ 2023-06-19 22:23  Huntto  閱讀(2432)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 亚洲老妇女一区二区三区| 大新县| 免费国产精品黄色一区二区| 18禁亚洲一区二区三区| 久久天堂无码av网站| 国产成人亚洲精品狼色在线| 免费无码成人AV片在线| 免费可以在线看a∨网站| 少妇熟女高潮流白浆| 免费无码成人AV片在线| h无码精品3d动漫在线观看| 国产精品伦理一区二区三| 国产精品无码成人午夜电影| 亚洲精品国产av成拍色拍个| 国产成人亚洲精品在线看| 国产精品麻豆成人av电影艾秋 | 国产另类ts人妖一区二区| 成人精品一区二区三区四| 蜜臀av人妻国产精品建身房| 亚洲精品国偷拍自产在线观看蜜臀| 富锦市| 成年无码av片在线蜜芽| 手机看片日本在线观看视频| 巴里| 亚洲男人天堂一级黄色片| 天天综合色一区二区三区 | 无码天堂亚洲国产AV| 依依成人精品视频在线观看| av无码精品一区二区乱子| 99精品热在线在线观看视| 华蓥市| 国产成人一区二区三区视频免费| 一卡2卡三卡4卡免费网站| 民权县| 国产免费播放一区二区三区| 午夜三级成人在线观看| 成人免费在线播放av| 亚洲精品一区三区三区在| 日韩伦理片| 亚洲国产精品久久久久秋霞| 日韩东京热一区二区三区|