gpt4 book ai didi

java - 当给定 2 个点和这些点的 asa 时,获取等腰三角形的最后一个角点

转载 作者:行者123 更新时间:2023-12-01 17:30:37 25 4
gpt4 key购买 nike

我一开始只有两个点和一个属于这两个点的角度。我剩下的唯一部分是最后一点,我不想强​​行解决这个问题。到目前为止,我已经掌握了下面列出的所有信息。

  • A点:给定
  • B点:给定
  • C点:(?, ?)
  • 角度 A:给定(在 A 点),与角度 B 相同
  • 角度 B:给定(在 B 点),与角度 A 相同
  • 角度C:180 - 角度*2~(在C点)
  • AB边:距离(Point~A & Point~B)
  • 边AC:(边~AB * Math.sin(角度~A))/Math.sin(角度~C)
  • BC 边:(边~AB * Math.sin(角度~B))/Math.sin(角度~C)

到目前为止我的代码几乎就是这样:(提示:p 是一个点,a 是一个角度,d 是一个边;1 是 A,2 是 B,3 是 C。我知道我的代码很难阅读,但这是我的初稿。)

public static Point solve(Point p1, Point p2, double angle)
{
//known
double a1 = angle;
double a2 = angle;
double d12 = p1.distance(p2);
//mathed
double a3 = 180 - (angle*2);
double d13 = (d12*Math.sin(a1))/Math.sin(a3);
double d23 = (d12*Math.sin(a2))/Math.sin(a3);
//mathed, mathed.
Point p3 = null;
return p3;
}

最佳答案

设 P 为 AB 线段的中心,P = (A + B)/2

则PC vector 垂直于AP,PC的长度为|PC| = |美联社|/Tg(角度), Tg = Tan = 切线

让 Tg(角度) = t

第一个条件(perp vector 的点积):PCx*APx+PCy*APy=0

第二个(长度平方):t^2*(PCx*PCx+PCy*PCy) = APx*APx+APy*APy

该系统的解(2个解,C点可能位于AB线的不同侧):

PCx = +- APy/t

PCy = -+ APx/t

小心:标志应该相反!

最后:

Cx = Px + PCx = Ax/2 + Bx/2 +- Ctg(角度)/2 * (Ay + By)

Cy = Py + PCy = Ay/2 + By/2 -+ Ctg(角度)/2 * (Ax + Bx)

第一点:

Cx1 = Ax/2 + Bx/2 + Ctg(角度)/2 * (Ay + By);

Cy1 = Ay/2 + By/2 - Ctg(角度)/2 * (Ax + Bx);

第二点:

Cx2 = Ax/2 + Bx/2 - Ctg(角度)/2 * (Ay + By);

Cy2 = Ay/2 + By/2 + Ctg(角度)/2 * (Ax + Bx)

关于java - 当给定 2 个点和这些点的 asa 时,获取等腰三角形的最后一个角点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11337466/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com