当前位置: 首页 > 面试题库 >

如何从三个点计算角度?

凌景辉
2023-03-14
问题内容

可以说你有这个:

P1 = (x=2, y=50)
P2 = (x=9, y=40)
P3 = (x=5, y=20)

假设这P1是一个圆的中心。总是一样的。我想要由P2和构成P3的角度,换句话说就是与相邻的角度P1。内角要精确。它始终是锐角,因此小于-90度。

我以为:那是简单的几何数学。但是我现在已经寻找了大约6个小时的公式,却只发现有人在谈论复杂的NASA东西,例如arccos和矢量标量产品。我的头好像在冰箱里。

这里的一些数学大师认为这是一个简单的问题?我认为这里的编程语言并不重要,但是对于那些认为确实重要的人来说:java和Objective-c。我都需要它,但是还没有为它们添加标签


问题答案:

如果您的意思是P1是顶点的角度,那么使用余弦定律应该可以:

arccos((P 12 2 + P 13 2 -P 23 2)/(2 * P 12 * P 13))

其中P 12是从P1到P2的线段的长度,计算公式为

sqrt((P1 x -P2 x)2 +(P1 y -P2 y)2)



 类似资料:
  • 我有一个3D坐标系,我用3D摄像机跟踪外部的三个点。 所以我在(x,y,z)空间中有三个点。 下一帧我再次跟踪这三个点。 我使用前三个点作为初始情况。现在我需要起草一个转换矩阵,给我的平移,旋转和缩放的第二个3点,与初始位置比较。 现在我真的不知道怎么做。 有没有一种方法可以直接生成变换矩阵,或者我必须先生成平移、旋转和缩放矩阵,然后再生成这三个矩阵的变换矩阵? 谢谢!j

  • 问题内容: 如何在Java中计算两个角度量度(以度为单位)的差,使结果在[0°,180°]范围内? 例如: 问题答案: /* * Shortest distance (angular) between two angles. * It will be in range [0, 180]. / public static int distance(int alpha, int beta) { int

  • 问题内容: 您好,我也有4个点,而我将有4个三角形,如何检查每个点的这四个三角形,无论该点是否在三角形内。谢谢 问题答案: 实现接口,该接口提供了几种方法。这是一个简单的例子。

  • 我有一个问题,我不知道如何使用Java/LWJGL在OpenGL中渲染方向向量。 我有以下系统: X位于屏幕右侧 因此我走在XZ平面上,现在我想实现/已经实现了WASD运动,它应该与我当前前进的方向有关。(W=向前到相机看方向,S=向后等) 我有一个偏航角,定义如下: 如果一直向前,则为0度 现在我只想要一个代表偏航方向的3D矢量,我该怎么做呢? 我正在使用以下Java代码,包括答案,但似乎还有另

  • 问题内容: http://upload.wikimedia.org/math/f/e/5/fe56529cdaaaa9bb2f71c1ad8a1a454f.png <-区域公式 我试图从2D笛卡尔坐标系中的3个点(x,y)计算三角形的面积。我假设我的上述公式正确产生了三角形的面积(如果不是,请更正我),但是我的编译器说“运算符- 无法应用于java.awt.Point,java.awt.Point

  • import scala.reflect.ClassTag import org.apache.spark.graphx._ /** * Compute the number of triangles passing through each vertex. * * The algorithm is relatively straightforward and can be computed

  • Python3 实例 以下实例为通过用户输入三角形三边长度,并计算三角形的面积: 实例(Python 3.0+)# -*- coding: UTF-8 -*- # Filename : test.py # author by : www.runoob.com a = float(input('输入三角形第一边长: ')) b = float(input('输入三角形第二边长: ')) c = fl

  • 问题内容: 说,有两个哈希集,如何计算它们的交集? 问题答案: 使用以下方法: 如果要保留集合,请创建一个新集合以保存交集: 该的的说,这正是你想要的: 仅保留此集合中包含在指定集合中的元素(可选操作)。换句话说,从该集合中删除所有未包含在指定集合中的元素。如果指定的集合也是一个集合,则此操作将有效地修改此集合,以使其值为两个集合的交集。