TSC999 发表于 2021-12-27 11:33:02

三角形的达布点对

△ABC内一点 P 在边BC, CA, AB上的射影分别为D, E, F,若连线 AD、BE、CF 恰好交于一点 Q,则(P,Q)称为△ABC的一个达布点对。

显然,(垂心,垂心)是一个重合的达布点对,(外心,重心)是一个达布点对。

对于等腰△,底边的高线上的任意点显然都是一个达布点对的P点,并且对应的Q点也在底边的高线上。

问:对于一般△,还有更多的达布点对吗?

mathe 发表于 2021-12-27 11:57:41

显然无穷个

ejsoon 发表于 2021-12-27 21:30:05

如果是無窮多個,那這可以說是一個定理。有這個定理嗎?

TSC999 发表于 2021-12-27 23:38:33

本帖最后由 TSC999 于 2021-12-28 10:37 编辑

设 t、u、v 是 0 到 1 之间的正数,它们是决定 BC、CA、AB 边上 D、E、F 位置的定比分点系数。

如果先在 BC 边上任取一点 D,则可知道 t的数值。然后按下面第二张图的计算公式可算出 u、v 的值,从而也就确定了 P 点的位置。

由于 D 点位置可任意取,所以符合要求的 P 点有无穷多个。对于一个确定的三角形,P 点及 Q 点的轨迹是确定的。



mathematica 给出的方程的解有两组,其实它的解答是绌劣的,经过人工分析,可以把两组解合并成一组。见下图。下图中的公式也许

还能进一步简化。公式中的 a、b、c 是三角形各边的长度,即 BC=a,CA=b,AB=c。

TSC999 发表于 2021-12-28 00:07:10

本帖最后由 TSC999 于 2021-12-28 08:48 编辑

对于主贴中的那个三角形,实测BC= a = 1.55903;CA = b = 1.09884;   AB = c = 1.99089;BD/DC = t =0.715233,算出CE/EA = u = 0.365101,AF/FB = v = 0.40911均与实测数据符合。

按上面的 a、b、c数据如何在三角形中画出 P 点和 Q 点的轨迹?

另外,关于 u (t) 和 v (t) 的公式能否再简化? 为验证简化是否正确,下面用程序代码方式给出了公式,以方便复制。

a = 1.55903; b = 1.09884; c = 1.99089; t = 0.71523;
u = ((1 -t)(-Sqrt + (-b^2 + a^2 (1 - 2 t)^2 +
      c^2 (4 t - 1))))/((2 t - 1) (Sqrt[ b^4 + 2 c^2 (8 t^2 - 8 t + 1) b^2 + c^4 + a^4 (1 - 2 t)^4 - 2 a^2 (b^2 + c^2) (1 - 2 t)^2]+ (b^2 + c^2 - a^2 (1 - 2 t)^2) ))
v = (b^2 - 3 c^2 - a^2 (1 - 2 t)^2 + 4 c^2 t + Sqrt)/(4 c^2 (2 t - 1))

TSC999 发表于 2021-12-28 10:08:13

本帖最后由 TSC999 于 2021-12-28 10:32 编辑

下面这个截图是【初等数学讨论】网站站长 kuing 发的 P 点的轨迹图。原图是动态图,文件超过 500k 发不上来,下面只是一个截图。原图见 http://kuing.orzweb.net/viewthread.php?tid=8437&extra=page%3D1

下面这个轨迹图是当三角形是边长为 3、4、5 的直角三角形时 P 点的轨迹。这是一条三次曲线,据说叫做 “达布三次曲线”。有定理:当 AD、BE、CF共点时 P 点一定在达布曲线上。



据说三维的达布定理的曲线方程是 $ (cosA-cosB cosC)x(y^2-z^2)+(cosB-cosC cosA)y(z^2-x^2)+(cosC-cosA cosB)z(x^2-y^2)=0 $

式中 A、B、C 是三角形的三个角。

二维的达布曲线是什么样的?

TSC999 发表于 2022-1-7 20:46:14

如何用 mathematica 机器证明一个看似并不复杂的平面几何问题

用 mathematica 软件机器证明下面这个并不复杂的平面几何问题。不要用纯几何方法证明。

下面图 1 中,已知 (P,Q)是ΔABC 的一个达布点对,BM⊥CP,BM 交 CA 或其延长线于 M,CN⊥BP,CN 交 BA 或其延长线于 N,MN 的延长线交 BC 或其延长线于 G。

试证明 :PQ ⊥AG



我感觉这个问题的难处在于达布点对不易作图,例如在图 1 中,令三角形 ABC 的外接圆是单位圆且 BC 边与实轴平行,

当 D 点的位置确定下来后,E、F 的位置是需要用复杂公式才能计算得到的,见图 2。



在上面图 2 中,令边长 \(BC=a\),\(CA=b\),\(AB=c\),当 \( x \) 给定以后,就确定了 D 点的位置。\( y、z \) 的值可按下面两式计算:

\( y = (-a^2 x^2 - b^2 + c^2 -\sqrt{(a^2 x^2 + b^2 - c^2)^2 - 4 b^2 x (a^2 x - c^2 x)})/(2 b^2 x)\)------------------------------①
\( z = (-a^2 x^2 + b^2 - c^2 + \sqrt{(a^2 x^2 + b^2 - c^2)^2 - 4 b^2 x (a^2 x - c^2 x)})/(2 c^2 x)\)   ------------------------------②

现在的问题是,如果在程序中引用了上面的公式,计算就变得十分复杂,无法证明成功。

如果只是进行数字验证,那是没有任何困难的。为抛砖引玉,下面给出一个数字验证的程序供参考。

能不能避开上面两个复杂公式而进行证明?

TSC999 发表于 2022-1-7 21:39:00

本帖最后由 TSC999 于 2022-1-7 21:49 编辑

下面的程序中,\(λ\),\(μ\), \(η\) 是 \(BC、CA、AB\) 各边上 \(D、E、F\) 点的定比分割系数,即 \(λ=BD/BC\),\(μ=CE/CA\), \(η=AF/AB\)。这三个系数与主帖中的 \(x, y, z\) 有如下关系:

\(x=1-2λ\),\(y=1-2μ\),\(z=1-2η\)。\(λ\),\(μ\), \(η\) 的取值范围都是 0 到 +1, \(x, y, z\) 的取值范围都是 -1 到 +1。

Clear["Global`*"]; \
(*三角形的外接圆为单位圆进行构图以证明PQ\AG,以下是数字验证,如果去掉数字算出的公式极复杂,证明不成功!*)
(*令\ABC的外接圆为单位圆O,BC边平行于实轴,因此BC的复斜率为 \
1。已知AB、AC的复斜率分别为-ab和-ac *)
Clear["Global`*"];
\ = 0.6; \ = 0.85; \ = 0.9; \ = \
0.45; \ = 0.3; \ = 0.05; \ = 0.27; \ \
= 0.73; (*\是除0.5外的任给数据*)
(*对于以上任一个\数据,程序运行结果都能验证PQ垂直于AG的结论*)
a = 0.8 + Sqrt I;b = -0.55 - Sqrt I;c =
0.55 - Sqrt I;(*任给测试数据*)

\!\(\*OverscriptBox[\(a\), \(_\)]\) = 0.8 - Sqrt I;
\!\(\*OverscriptBox[\(b\), \(_\)]\) = -0.55 + Sqrt I;
\!\(\*OverscriptBox[\(c\), \(_\)]\) = 0.55 + Sqrt I;
u = -Sqrt[-a b]; v = Sqrt[-a c];(*不用数字计算时 u,v 是两个自由变量*)
o = 0;
\!\(\*OverscriptBox[\(o\), \(_\)]\) = 0; a = I u v;b = (
I u)/v; c = (I v)/u;
\!\(\*OverscriptBox[\(a\), \(_\)]\) = 1/a;
\!\(\*OverscriptBox[\(b\), \(_\)]\) = 1/b;
\!\(\*OverscriptBox[\(c\), \(_\)]\) = 1/c;
Print["a = ", a, ", b = ", b, ",c = ", c];
kab = -a b; kac = -a c; (*AB和AC的复斜率,因为A、B、C都在单位圆上,故有此公式*)
BC = Simplify[(c - b)/1]; CA = Simplify[(a - c)/Sqrt ]; AB =
Simplify[(b - a)/-Sqrt]; (*线段BC、CA、AB的长度*)
Print["BC = ", Re, ", CA = ", Re, ",AB = ",
Re];(*由于计算有误差,导致算出的边长有很小的虚部,显示时宜将虚部忽略*)
x = 1 - 2 \;
d = Simplify;
\!\(\*OverscriptBox[\(d\), \(_\)]\) = Simplify[
\!\(\*OverscriptBox[\(b\), \(_\)]\) + (
\!\(\*OverscriptBox[\(c\), \(_\)]\) -
\!\(\*OverscriptBox[\(b\), \(_\)]\)) (1 - x)/
    2];(*BC上D点的\=(1-x)/2*)(*直线BC上有一点D,BD/BC=\,则D点坐标d=\
b+(c-b)\; Overscript=Overscript+(Overscript[c, \
_]-Overscript)\。上式中的 x 是一个自由变量;*)
   y = Simplify[(-BC^2 x^2 - CA^2 + AB^2 -
   Sqrt[(BC^2 x^2 + CA^2 - AB^2)^2 - 4 CA^2 x (BC^2 x - AB^2 x)])/(
2 CA^2 x)]; (*\不能取0.5,否则x=0导致分母为零!*)
(*陆教授公式,CA上E的定比分点系数为(1-y)/2*)
z = Simplify[(-BC^2 x^2 + CA^2 - AB^2 +
   Sqrt[(BC^2 x^2 + CA^2 - AB^2)^2 - 4 CA^2 x (BC^2 x - AB^2 x)])/(
2 AB^2 x)];(*AB上F的定比分点系数为(1-z)/2*)
e = Simplify;
\!\(\*OverscriptBox[\(e\), \(_\)]\) = Simplify[
\!\(\*OverscriptBox[\(c\), \(_\)]\) + (
\!\(\*OverscriptBox[\(a\), \(_\)]\) -
\!\(\*OverscriptBox[\(c\), \(_\)]\)) (1 - y)/2];
f = Simplify;
\!\(\*OverscriptBox[\(f\), \(_\)]\) = Simplify[
\!\(\*OverscriptBox[\(a\), \(_\)]\) + (
\!\(\*OverscriptBox[\(b\), \(_\)]\) -
\!\(\*OverscriptBox[\(a\), \(_\)]\)) (1 - z)/2];
Print["d = ", d, ", e = ", e, ", f = ", f];
Jd := -((k2 (a1 - k1
\!\(\*OverscriptBox[\(a1\), \(_\)]\)) - k1 (a2 - k2
\!\(\*OverscriptBox[\(a2\), \(_\)]\)))/(
k1 - k2));(*复斜率等于k1,过点A1与复斜率等于k2,过点A2的直线交点*)

\!\(\*OverscriptBox[\(Jd\), \(_\)]\) := -((a1 - k1
\!\(\*OverscriptBox[\(a1\), \(_\)]\) - (a2 - k2
\!\(\*OverscriptBox[\(a2\), \(_\)]\)))/(k1 - k2));
p = Simplify];
\!\(\*OverscriptBox[\(p\), \(_\)]\) = Simplify[
\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[-1, d, a b, f]];
q = Simplify[Jd[(c - f)/(
\!\(\*OverscriptBox[\(c\), \(_\)]\) -
\!\(\*OverscriptBox[\(f\), \(_\)]\)), c, (b - e)/(
\!\(\*OverscriptBox[\(b\), \(_\)]\) -
\!\(\*OverscriptBox[\(e\), \(_\)]\)), b]];
\!\(\*OverscriptBox[\(q\), \(_\)]\) = Simplify[
\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[(c - f)/(
\!\(\*OverscriptBox[\(c\), \(_\)]\) -
\!\(\*OverscriptBox[\(f\), \(_\)]\)), c, (b - e)/(
\!\(\*OverscriptBox[\(b\), \(_\)]\) -
\!\(\*OverscriptBox[\(e\), \(_\)]\)), b]];
Print["p = ", p, ",q = ", q];
m = Simplify[Jd[kac, c, (p - c)/(
\!\(\*OverscriptBox[\(c\), \(_\)]\) -
\!\(\*OverscriptBox[\(p\), \(_\)]\)), b]];
\!\(\*OverscriptBox[\(m\), \(_\)]\) = Simplify[
\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[kac, c, (p - c)/(
\!\(\*OverscriptBox[\(c\), \(_\)]\) -
\!\(\*OverscriptBox[\(p\), \(_\)]\)), b]];
n = Simplify[Jd[kab, b, (p - b)/(
\!\(\*OverscriptBox[\(b\), \(_\)]\) -
\!\(\*OverscriptBox[\(p\), \(_\)]\)), c]];
\!\(\*OverscriptBox[\(n\), \(_\)]\) = Simplify[
\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[kab, b, (p - b)/(
\!\(\*OverscriptBox[\(b\), \(_\)]\) -
\!\(\*OverscriptBox[\(p\), \(_\)]\)), c]];
g = Simplify[Jd[1, b, (m - n)/(
\!\(\*OverscriptBox[\(m\), \(_\)]\) -
\!\(\*OverscriptBox[\(n\), \(_\)]\)), m]];
\!\(\*OverscriptBox[\(g\), \(_\)]\) = Simplify[
\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[1, b, (m - n)/(
\!\(\*OverscriptBox[\(m\), \(_\)]\) -
\!\(\*OverscriptBox[\(n\), \(_\)]\)), m]];
Print["m = ", m, ",n = ", n, ",g = ", g];
kag = Simplify[(a - g)/(
\!\(\*OverscriptBox[\(a\), \(_\)]\) -
\!\(\*OverscriptBox[\(g\), \(_\)]\))]; kpq = Simplify[(p - q)/(
\!\(\*OverscriptBox[\(p\), \(_\)]\) -
\!\(\*OverscriptBox[\(q\), \(_\)]\))];
Print["kag = ", kag, ",   kpq = ", kpq];
If[-0.9999999999999 > Re > -1.0000000000001 &&
Im] < 10^-15, Print["由于PQ与AG的复斜率之比为 -1,所以它们垂直"] ]

运行结果是:

a = 0.8 +0.6 I, b = -0.55-0.835165 I,c = 0.55 -0.835165 I
BC = 1.1, CA = 1.45678,AB = 1.97033
d = 0.253 -0.835165 I, e = 0.601153 -0.54151 I, f = 0.00378844 -0.246441 I
p = 0.253 -0.480864 I,q = 0.339482 -0.608262 I
m = 0.738091 +0.244604 I,n = 0.19878 -0.0391479 I,g = -1.31417-0.835165 I
kag = 0.3691 +0.92939 I,   kpq = -0.3691-0.92939 I
由于PQ与AG的复斜率之比为 -1,所以它们垂直

王守恩 发表于 2022-1-8 12:09:31

解方程不就得了(7个未知数7个方程)?我不知道怎么上传。已知4个数(图2):∠A,∠a,∠B,∠b

Table, (Sin Sin Sin)/(Sin Sin Sin) == 1,

(Sin Sin*CD)/(Sin Sin (Sin - CD)) == 1, ( Sin Sin*CE)/(Sin Sin (Sin - CE)) == 1, CD^2 + PD^2 == CE^2 + PE^2,

CD^2 + CE^2 + 2 CD* CE Cos == PD^2 + PE^2 - 2 PD*PE Cos, \ > c > 0, \ > d > 0, PD > 0, PE > 0},

{c, d, e, f, CD, CE, PD, PE}], {A, 37 \, 37 \}], {a, 23 \, 23 \}], {B, 43 \, 43 \}], {b, 29 \, 29 \}]

{{{{{{c -> 0.311076, d -> 1.43425, e -> 0.244346, f -> 0.244346, CD -> 0.317739, CE -> 0.159371, PD -> 0.217855, PE -> 0.350742}}}}}}

紧凑一点(换汤不换药)(4个未知数4个方程)?我不知道怎么上传。已知4个数(图2):∠A,∠a,∠B,∠b

Table Sin*CD)/(Sin Sin (Sin - CD)) == ( Sin Sin*CE)/(Sin Sin (Sin - CE)) == 1,

CD^2 + PD^2 == CE^2 + PE^2, CD^2 + CE^2 + 2 CD* CE Cos == PD^2 + PE^2 - 2 PD*PE Cos, PD > 0, PE > 0}, {CD, CE, PD, PE}],

{A, 37 \, 37 \}], {a, 23 \, 23 \}], {B, 43 \, 43 \}], {b, 29 \, 29 \}]

{{{{{{CD -> 0.317739,CE -> 0.159371, PD -> 0.217855, PE -> 0.350742}}}}}}

dlsh 发表于 2022-1-15 21:20:22


\!\(\*OverscriptBox["i", "_"]\) = i = 0;

\!\(\*OverscriptBox["d", "_"]\) = 1/d;
\!\(\*OverscriptBox["e", "_"]\) = 1/e;
\!\(\*OverscriptBox["f", "_"]\) = 1/f;
a = (2 e f)/(e + f);
\!\(\*OverscriptBox["a", "_"]\) = 2/(e + f); b = (2 d f)/(d + f);
\!\(\*OverscriptBox["b", "_"]\) = 2/(d + f); c = (2 e d)/(e + d);
\!\(\*OverscriptBox["c", "_"]\) = 2/(e + d);
k := (a - b)/(
\!\(\*OverscriptBox["a", "_"]\) -
\!\(\*OverscriptBox["b", "_"]\));
\!\(\*OverscriptBox["k", "_"]\) := 1/k;(*复斜率定义*)
FourPoint := ((
\!\(\*OverscriptBox["c", "_"]\) d - c
\!\(\*OverscriptBox["d", "_"]\)) (a - b) - (
\!\(\*OverscriptBox["a", "_"]\) b - a
\!\(\*OverscriptBox["b", "_"]\)) (c - d))/((a - b) (
\!\(\*OverscriptBox["c", "_"]\) -
\!\(\*OverscriptBox["d", "_"]\)) - (
\!\(\*OverscriptBox["a", "_"]\) -
\!\(\*OverscriptBox["b", "_"]\)) (c - d));(*过两点A和B、C和D的交点*)

\!\(\*OverscriptBox["FourPoint", "_"]\) := -(((c
\!\(\*OverscriptBox["d", "_"]\) -
\!\(\*OverscriptBox["c", "_"]\) d) (
\!\(\*OverscriptBox["a", "_"]\) -
\!\(\*OverscriptBox["b", "_"]\)) - ( a
\!\(\*OverscriptBox["b", "_"]\) -
\!\(\*OverscriptBox["a", "_"]\) b) (
\!\(\*OverscriptBox["c", "_"]\) -
\!\(\*OverscriptBox["d", "_"]\)))/((a - b) (
\!\(\*OverscriptBox["c", "_"]\) -
\!\(\*OverscriptBox["d", "_"]\)) - (
\!\(\*OverscriptBox["a", "_"]\) -
\!\(\*OverscriptBox["b", "_"]\)) (c - d)));
s = FourPoint;
\!\(\*OverscriptBox["s", "_"]\) =
\!\(\*OverscriptBox["FourPoint", "_"]\);

\!\(\*OverscriptBox["Jd", "_"]\) := -((a1 - k1
\!\(\*OverscriptBox["a1", "_"]\) - (a2 - k2
\!\(\*OverscriptBox["a2", "_"]\)))/(
k1 - k2));(*复斜率等于k1,过点A1与复斜率等于k2,过点A2的直线交点*)
Jd := -((k2 (a1 - k1
\!\(\*OverscriptBox["a1", "_"]\)) - k1 (a2 - k2
\!\(\*OverscriptBox["a2", "_"]\)))/(k1 - k2));
h = Jd[-d e, b, -e^2, c];
\!\(\*OverscriptBox["h", "_"]\) =
\!\(\*OverscriptBox["Jd", "_"]\)[-d e, b, -e^2, c]; g =
Jd[-d f, c, -f^2, b];
\!\(\*OverscriptBox["g", "_"]\) =
\!\(\*OverscriptBox["Jd", "_"]\)[-d f, c, -f^2, b];
t = FourPoint;
\!\(\*OverscriptBox["t", "_"]\) =
\!\(\*OverscriptBox["FourPoint", "_"]\);
Simplify[{s,
\!\(\*OverscriptBox["s", "_"]\), , g,
\!\(\*OverscriptBox["g", "_"]\), , h,
\!\(\*OverscriptBox["h", "_"]\)}]
Simplify[{s/
\!\(\*OverscriptBox["s", "_"]\), , t,
\!\(\*OverscriptBox["t", "_"]\), , k, , k + k}]



葛金刚点与内心的情形,比较简单。
页: [1] 2
查看完整版本: 三角形的达布点对