当前位置: 首页 > 知识库问答 >
问题:

ArCore场景,计算3个锚点节点之间的角度A->B->C

穆博简
2023-03-14

我有3个锚节点,比如A,B,C。A连接到B,B连接到C,形成一个“开放三角形”。

我需要计算B点两条线形成的角度。

这怎么可能呢?

共有1个答案

彭海阳
2023-03-14

我最终通过以下一系列说明实现了这一点:

val abLen = Vector3.subtract(pointNodes[0].worldPosition, pointNodes[1].worldPosition).length()
val bcLen = Vector3.subtract(pointNodes[1].worldPosition, pointNodes[2].worldPosition).length()

val prodLen = abLen * bcLen
val dotProd = Vector3.dot(Vector3.subtract(pointNodes[0].worldPosition, pointNodes[1].worldPosition), Vector3.subtract(pointNodes[2].worldPosition, pointNodes[1].worldPosition))
val dp = dotProd / prodLen
val angleInDegrees = acos(dp.toDouble()) * 180 / Math.PI

其中,pointNodes是包含3个锚节点的锚节点数组,其中A位于0,B位于1,C位于2。

 类似资料:
  • 问题内容: 我需要为自己的Point类计算两个点之间的角度,以度为单位,Point a为中心点。 方法: 测试1://返回45 测试2://返回-90,预期值:270 如何将返回的结果转换为0到359之间的数字? 问题答案: 您可以添加以下内容: 顺便说一句,为什么您不想在这里使用双精度?

  • 王国连通性 对查尔斯国王来说,这是繁荣的一年,他正在迅速扩大他的王国。一个美丽的新王国最近已经建成,在这个王国里有许多城市由多条单向道路连接。两个城市可能由多条道路直接连接,这是为了确保高度连接。 在这个新王国中,查尔斯国王将其中一个城市作为他的金融首都,另一个作为战争首都,他希望这两个首都之间有高度的连通性。一对城市的连通性,比如城市A和城市B,被定义为从城市A到城市B的不同路径的数量。如果可能

  • 我正在寻找一个算法来检查任何有效的连接(最短或最长)之间的两个任意节点在一个图上。 我的图被固定为一个具有逻辑(x,y)坐标的网格,具有北/南/东/西连接,但是节点可以随机移除,所以你不能假设取离目标最近的coords的边总是会让你到达那里。 代码是用Python编写的。数据结构是每个节点(对象)都有一个连接节点的列表。列表元素是对象引用,因此我们可以递归地搜索该节点的连接节点列表,如下所示: 尽

  • 我想展示一下,安迪说,一旦阿科雷开始跟踪,计划被发现。在我将节点锚定在附近某个地方之后,我离开了andy。 我在屏幕底部有一个箭头,当我移开相机时,我想旋转/指向箭头,使箭头始终指向锚定的节点。 我已经做了剩余的事情,但无法找到我需要保持旋转箭头图像的角度,以便它始终指向锚定节点。 我正在android studio中使用sceneform框架,arcore sdk。

  • 我试图使用Scala类计算两点之间的距离。但它给出了一个错误说 类型不匹配;发现:其他。需要类型(具有基础类型点):?{def x:?}请注意,隐式转换不适用,因为它们是不明确的:在[A](x:A)类型的对象Predef中确保[A]的方法any2Ensuring和在[A](x:A)“ArroAssoc[A]类型的对象Predef中的方法Ani2ArrowasSoc都是可能的其他转换函数。输入到?{

  • 计算节点 需要额外启用 l3_agent(dvr 模式),以及 metadata agent。 其实,跟传统情况下的网络节点十分类似。每个东西向路由器有自己的命名空间,负责跨子网的转发。另外,多一个 floating 路由器,专门负责经由 floating 地址的南北向转发。 东西流量 如上图所示,租户两个子网,红色和绿色,分别有 vm1 和 vm2,位于节点 cn1 和 cn2 上。 vm1 访