Excel 公式计算三角形的第三点

Excel 公式计算三角形的第三点

我需要一个 Excel 公式,在给定大多数其他信息的情况下,它可以帮助我找到三角形中的第三个点。这不是家庭作业,这意味着我不需要只做一次。我需要一种一致的方法来在接下来的几个月内反复完成它,尽可能快速和准确,所以我希望 Excel 或类似的东西是最好的工具。我的印象是,这个问题可能总是有两个有效的答案。如果是这样,并且如果可能的话,四个公式,两个用于可能的 X 值,两个用于可能的 Y 值,就可以了。在大多数情况下,找出哪个是正确的并不困难。我主要关心的是能够准确地重复地做到这一点。

所有点都在二维笛卡尔系统上(具有 X 和 Y 值),可以是负数或正数。三角形是随机的,因此必须假定为不等边三角形。对于每个三角形,我有两个笛卡尔点,以及从这些点到第三点的距离。由此我可以轻松确保在其他列中,我有所有三条边的长度,以及所有三个内角的弧度和度数格式,以及两个笛卡尔点的 X 和 Y 值。如何使用 Excel 公式得出两个有效第三点的剩余 X 和 Y 值?

我将在这里列出我所拥有的列/变量以便更清楚,以防您想使用我的字母而不是传统的符号。

point 1:
A = X1
B = Y1

point 2:
C = X2
D = Y2

E = distance from p1 to p2  (calculated from other values)
F = distance from p1 to p3
G = distance from p2 to p3

H = inner angle at p1 in radians (calculated from other values)
I = inner angle at p2 in radians (calculated from other values)
J = inner angle at p3 in radians (calculated from other values)

The cells that will contain my formulas:
K = possible X3
L = other possible X3
M = possible Y3
N = other possible Y3

我的假设是,X3有两个公式,Y3有两个公式,每个公式都会产生一个可能的解决方案,但是我不是100%确定这是真的。

我不太懂数学,但我的直觉是,我可以以某种方式抓住我的一个距离公式,例如计算距离 E 的公式:

=SQRT(((C-A)^2)+((D-B)^2))

并操纵它来求解一个 X、Y 集、给定距离和另一个 X、Y 集,但每次我尝试这样做时,我都会在找到一个可行的公式之前迷失或犯错误。

是否可以使用上面的列/变量和一组四个 Excel 公式以简单的方式完成此操作?谢谢。

答案1

这是一组可能的公式,基本上可以实现 Dane 所描述的功能。已在 Google Docs 中测试。

A= ____                         // X1
B= ____                         // Y1
C= ____                         // X2
D= ____                         // Y2
E= sqrt((A-C)^2+(B-D)^2)        // Distance 12
F= ____                         // Distance 13
G= ____                         // Distance 23
H= acos((E^2+F^2-G^2)/(2*E*F))  // Angle 1
I= acos((E^2+G^2-F^2)/(2*E*G))  // Angle 2
J= acos((F^2+G^2-E^2)/(2*F*G))  // Angle 3
K= A+F*cos(atan2(C-A,D-B)+H)    // X3
L= A+F*cos(atan2(C-A,D-B)-H)    // X3Alt
M= B+F*sin(atan2(C-A,D-B)+H)    // Y3
N= B+F*sin(atan2(C-A,D-B)-H)    // Y3Alt

答案2

要计算第三点,您需要以下内容:

  1. 一个起点
  2. 距离
  3. 与 x 轴的角度

然后你将使用 Excel=sin()=cos()函数以及数学解释在这个数学问题中

诀窍在于计算 (3) 与 x 轴的角度。这个 Stack Exchange 问题告诉你如何确定已知边与 x 轴的角度。您将使用 Excel 的=atan2()。从这里,您可以添加或减去内角(例如,您的值 H)。在这里添加或减去将给您两个不同的点。

使用弧度与角度时要小心。

玩得开心并让我们知道你的想法!

答案3

您可以根据每个已知点绘制半径为的圆,然后查看它们的相交位置。如下所示。

在此处输入图片描述

相关内容