C 判斷兩條直線距離

2022-01-15 02:12:20 字數 2866 閱讀 5637

一般式的意思就是ax

+by+

c=0' role="presentation">ax+

by+c

=0ax

+by+

c=0如果有兩個直線a1

x+b1

y+c1

=0a2

x+b2

y+c2

=0' role="presentation">a1x

+b1y

+c1=

0a2x

+b2y

+c2=

0a1x

+b1y

+c1=

0a2x

+b2y

+c2=

0如何判斷兩條直線的距離?

如果需要判斷兩條直線的距離,首先兩條直線需要是平行

判斷一般式直線平行的方法a1

b2−a

2b1≈

0' role="presentation">a1b

2−a2

b1≈0

a1b2

−a2b

1≈0如果兩條直線符合上面公式,可以認為兩條直線平行。

對於一般的兩條直線,獲得距離的公式d=

|c1−

c2|a

2+b2

' role="presentation">d=|

c1−c

2|a2

+b2−

−−−−

−−√d

=|c1

−c2|

a2+b

2但是因為兩個直線一般式的 ab 是不相等的,所以需要把兩個直線轉換相同的 aba1

x+b1

y+c1

=0a2

xa1a

2+b2

ya1a

2+c2

a1a2

=0a1

x+b1

y+c2

a1a2

=0' role="presentation">a1x

+b1y

+c1=

0a2x

a1a2

+b2y

a1a2

+c2a

1a2=

0a1x

+b1y

+c2a

1a2=

0a1x

+b1y

+c1=

0a2x

a1a2

+b2y

a1a2

+c2a

1a2=

0a1x

+b1y

+c2a

1a2=

0這時的距離公式是d=

|c1−

c2a1

a2|a

12+b

12' role="presentation">d=∣

∣c1−

c2a1

a2∣∣

a21+

b21−

−−−−

−−√d

=|c1

−c2a

1a2|

a12+

b12但是存在 a 或 b 是 0 ,所以就不能直接使用上面的距離如果a

=0,b

≠0' role="presentation">a=0

,b≠0

a=0,

b≠0 那麼需要修改直線公式b1

y+c1

=0b1

y+c2

b1b2

=0' role="presentation">b1y

+c1=

0b1y

+c2b

1b2=

0b1y

+c1=

0b1y

+c2b

1b2=

0這時距離公式d=

|c1−

c2b1

b2|b

1' role="presentation">d=∣

∣c1−

c2b1

b2∣∣

b1d=

|c1−

c2b1

b2|b

1如果a≠

0,b=

0' role="presentation">a≠0

,b=0

a≠0,

b=0 那麼需要修改直線公式a1

x+c1

=0a1

x+c2

a1a2

=0' role="presentation">a1x

+c1=

0a1x

+c2a

1a2=

0a1x

+c1=

0a1x

+c2a

1a2=

0這時距離公式d=

|c1−

c2a1

a2|a

1' role="presentation">d=∣

∣c1−

c2a1

a2∣∣

a1d=

|c1−

c2a1

a2|a

1因為我是在程式設計,我可以拿到距離平方,這樣可以減少開方,我把上面的公式寫為**,**是c#不過大家可以把他使用其他語言

///

/// 獲得兩條直線的距離,傳入的直線已經是判斷平行

//////

///public

double? getdistancewithlinesquare(lineequation otherline)

if (!aiszero && biszero)

if (!aiszero && !biszero)

if (aiszero && biszero)

return

default(double?);

}

2018 7 31 C 判斷兩條直線距離

title author date createtime categories c 判斷兩條直線距離 lindexi 2018 07 31 14 38 13 0800 2018 05 08 10 32 50 0800 數學 c 幾何 一般式的意思就是 ax by c 0 如果有兩個直線 a 1x b...

2018 7 31 C 判斷兩條直線距離

title author date createtime categories c 判斷兩條直線距離 lindexi 2018 07 31 14 38 13 0800 2018 05 08 10 32 50 0800 數學 c 幾何 一般式的意思就是 ax by c 0 如果有兩個直線 a 1x b...

如何判斷兩條直線是否相交

之前寫過一篇如何判斷兩條線段是否相交,我們緊接這個主題,再來談談如何判斷兩條直線是否相交 總體來上,判斷直線是否相交比判斷線段是否相交容易多了 兩條直線相交只有兩種情況 第一種 兩條直線斜率不相同 斜率不存在的情況算做一種斜率 第二種 兩斜率相同且截距也相同,即重合 如果這個相同的斜率都是斜率不存在...