引言
这里记录一个初中问题,我印象中初三的时候我一口就能说出答案的式子,现在竟然突然想不通了,这里特来记录一下。
正文
如上图所示,如果我们已知两个点的坐标
A
(
x
0
,
y
0
)
A\left ( x_0, y_0 \right )
A(x0,y0) 和
B
(
x
1
,
y
1
)
B\left ( x_1, y_1 \right )
B(x1,y1)。现在有一个点
C
(
x
3
,
y
3
)
C\left ( x_3, y_3 \right )
C(x3,y3) 位于它们的连线上,如果我们知道点
A
A
A 距离点
C
C
C 的距离为
d
1
d_1
d1,点
B
B
B 距离点
C
C
C 的距离为
d
2
d_2
d2。过点
C
C
C 做
A
D
AD
AD 边的垂线与
A
D
AD
AD 相交于
E
E
E 点。那么如何求点
C
C
C 的坐标呢?
关于这个问题,有很多种解法,这里我们特来介绍一种比较特殊的表示方法,可以直接写出 C C C 点的坐标。
首先,我们可以很直观地表示出
C
C
C 点的坐标。
x
3
=
x
0
+
δ
x
y
3
=
y
0
+
δ
y
(1)
\begin{align} x_3 &= x_0 + \delta x \nonumber \\ y_3 &= y_0 + \delta y \nonumber \end{align} \tag{1}
x3y3=x0+δx=y0+δy(1)
根据相似三角形等比例定理,可得:
δ
x
A
D
=
δ
x
x
1
−
x
0
=
d
1
d
1
+
d
2
δ
y
B
D
=
δ
y
y
1
−
y
0
=
d
1
d
1
+
d
2
(2)
\begin{align} \frac{\delta x}{AD} &= \frac{\delta x}{x_1-x_0}= \frac{d_1}{d_1+d_2} \nonumber \\ \frac{\delta y}{BD} &= \frac{\delta y}{y_1-y_0}=\frac{d_1}{d_1+d_2} \nonumber \end{align} \tag{2}
ADδxBDδy=x1−x0δx=d1+d2d1=y1−y0δy=d1+d2d1(2)
将(2)式中的左侧分母均移动到等号右侧可得:
δ
x
=
d
1
d
1
+
d
2
⋅
(
x
1
−
x
0
)
δ
y
=
d
1
d
1
+
d
2
⋅
(
y
1
−
y
0
)
(3)
\begin{align} \delta x &= \frac{d_1}{d_1+d_2} \cdot \left ( x_1-x_0 \right ) \nonumber \\ \delta y &= \frac{d_1}{d_1+d_2} \cdot \left ( y_1-y_0 \right ) \nonumber \end{align} \tag{3}
δxδy=d1+d2d1⋅(x1−x0)=d1+d2d1⋅(y1−y0)(3)
将(3)式带入(1)式可得:
x
3
=
x
0
+
d
1
d
1
+
d
2
⋅
(
x
1
−
x
0
)
y
3
=
y
0
+
d
1
d
1
+
d
2
⋅
(
y
1
−
y
0
)
(4)
\begin{align} x_3 &= x_0 + \frac{d_1}{d_1+d_2}\cdot \left ( x_1-x_0 \right ) \nonumber \\ y_3 &= y_0 + \frac{d_1}{d_1+d_2}\cdot \left ( y_1-y_0 \right ) \nonumber \end{align}\tag{4}
x3y3=x0+d1+d2d1⋅(x1−x0)=y0+d1+d2d1⋅(y1−y0)(4)
此时,我们已经成功获得了点
C
C
C 的坐标,但是(4)式也很复杂,且不够直观。于是我们可以使用一个小技巧 对它的形式进行更改。
我们令:
x
0
=
d
1
+
d
2
d
1
+
d
2
⋅
x
0
y
0
=
d
1
+
d
2
d
1
+
d
2
⋅
y
0
(5)
\begin{align} x_0 = \frac{d_1 + d_2}{d_1+d_2}\cdot x_0 \nonumber \\ y_0 = \frac{d_1 + d_2}{d_1+d_2}\cdot y_0 \nonumber \end{align}\tag{5}
x0=d1+d2d1+d2⋅x0y0=d1+d2d1+d2⋅y0(5)
将(5)式带入(4)式可得:
x
3
=
d
1
+
d
2
d
1
+
d
2
⋅
x
0
+
d
1
d
1
+
d
2
⋅
(
x
1
−
x
0
)
=
d
1
d
1
+
d
2
⋅
x
0
+
d
2
d
1
+
d
2
⋅
x
0
+
d
1
d
1
+
d
2
x
1
−
d
1
d
1
+
d
2
x
0
=
d
2
d
1
+
d
2
⋅
x
0
+
d
1
d
1
+
d
2
x
1
(6)
\begin{align} x_3 &= \frac{d_1 + d_2}{d_1+d_2}\cdot x_0 + \frac{d_1}{d_1+d_2}\cdot \left ( x_1-x_0 \right ) \nonumber \\ &= \frac{d_1}{d_1+d_2}\cdot x_0 + \frac{d_2}{d_1+d_2}\cdot x_0 + \frac{d_1}{d_1+d_2} x_1-\frac{d_1}{d_1+d_2}x_0 \nonumber \\ &= \frac{d_2}{d_1+d_2}\cdot x_0 + \frac{d_1}{d_1+d_2} x_1 \nonumber \end{align}\tag{6}
x3=d1+d2d1+d2⋅x0+d1+d2d1⋅(x1−x0)=d1+d2d1⋅x0+d1+d2d2⋅x0+d1+d2d1x1−d1+d2d1x0=d1+d2d2⋅x0+d1+d2d1x1(6)
(6)式被叫做 两个角点的加权混合 的表达形式。同理,y
坐标的推导类似,这里就不再说明了。习惯这种表达方式后,可以直接写出点
C
C
C 的坐标。
我们可以简单地对(6)式进行一下验证,如果点
C
C
C 位于
A
B
AB
AB 连线的中点。那么,点
C
C
C 的坐标为
(
x
0
+
x
1
2
,
y
0
+
y
1
2
)
\left ( \frac{x_0 +x_1}{2}, \frac{y_0 +y_1}{2} \right )
(2x0+x1,2y0+y1)。此时对应
d
1
=
d
2
d_1=d_2
d1=d2,将该关系带入(6)式可得:
x
3
=
1
2
x
0
+
1
2
x
1
=
1
2
(
x
0
+
x
1
)
x_3 = \frac{1}{2}x_0 + \frac{1}{2}x_1=\frac{1}{2}\left ( x_0+x_1 \right )
x3=21x0+21x1=21(x0+x1)
同理,y
坐标类似。至此,(6)式得到验证。
我们知道,一个点的坐标是也可以看作是一个矢量,那么如果我们用矢量
p
⃗
\vec{p}
p 表示
A
A
A 点的坐标,矢量
q
⃗
\vec{q}
q 表示
B
B
B 点的坐标,且将
C
C
C 点的坐标矢量记为
p
m
⃗
\vec{p_m}
pm。那么
C
C
C 点的坐标可以被表示为:
p
m
⃗
=
d
2
d
1
+
d
2
⋅
p
⃗
+
d
1
d
1
+
d
2
q
⃗
\vec{p_m} = \frac{d_2}{d_1+d_2}\cdot \vec{p} + \frac{d_1}{d_1+d_2} \vec{q}
pm=d1+d2d2⋅p+d1+d2d1q
如果大家觉得有用,就请点个赞吧~