【问题标题】:Calculate circle center (3D) from 2 point, arc angle and plane normal从 2 点、圆弧角和平面法线计算圆心 (3D)
【发布时间】:2021-09-14 18:44:13
【问题描述】:

我需要从 2 个点(3D)和弧角(平面法线也是已知的)计算一个 3D 圆中心点。

我用谷歌搜索了它,但我认为我的英语不够好,无法正确搜索。有人知道这样做的计算吗?

【问题讨论】:

    标签: math geometry


    【解决方案1】:

    我们有点A, B,正常N,角度Fi

    计算差分向量(弧弦)和中点

    AB = B - A
    M = (A + B) / 2
    

    使用向量积计算垂直于ABN的向量F并对其进行归一化

    F = AB x N
    uF = F / len(F)
    

    我们知道圆心 C 位于从点 M 出发的射线上,方向为 F(参数 t 等于 apothem CM 长度(中心弦距))

    C = M + t * uF
    

    t 的值应该是多少?我们可以通过直角三角形AMC参数来表达t

     tan(Fi/2) = 0.5*len(AB) / t
    

    所以最后中心是

    C = M + uF * 0.5*len(AB) / tan(Fi/2)
    

    注意中心C不是唯一的,因为我们不知道弧的方向(只需在最后一个公式中uF之前更改符号并得到镜像点C'对弦)

    【讨论】:

    • AB = A - B 你搞错了。应该是AB = B - A
    • @Stef 严格来说 - 是的,但在这里并不重要
    • 谢谢。这正是我要寻找的。另外,我没有灰色地带。我理解了整个逻辑。
    猜你喜欢
    • 2018-09-01
    • 2011-05-10
    • 2014-05-12
    • 2021-04-09
    • 1970-01-01
    • 1970-01-01
    • 2015-07-12
    • 1970-01-01
    • 2012-07-12
    相关资源
    最近更新 更多