gpt4 book ai didi

math - 如何找到连接两个线段的弧?

转载 作者:行者123 更新时间:2023-12-05 00:47:18 25 4
gpt4 key购买 nike

我将从帮助我描述我的问题的 img 开始:


我有两个连接的段 AB 和 BC(我知道坐标)。如何计算第一个和最后一个绿点之间的弧。第一个和最后一个绿点位于距 B 点(黑段)指定距离处。 我想在数组中包含所有绿点坐标。 任何人都可以帮我解决这个问题吗?

最佳答案

问题归结为在给定半径 r、点 B 以及方向 BC 和 BA 的情况下找到圆 K 的中心。

pic

按着这些次序:

  • 使用您找到的任何“两个平面向量之间的角度”算法找到 BC 和 AB 之间的角度 φ(有很多方法)。
  • 计算圆弧包含角ψ
    ψ = 2*arcsin(cot(φ/2))
  • 计算沿 BC 弧结束处的距离 s
    s = r*cot(φ/2)
  • 如果BC的方向是e_BC=(ex,ey)正常是n_BC=(ey,-ex)那么弧M的终点是
    (mx,my) = (bx,by) + s*(ex,ey)
  • 而圆心是
    (kx,ky) = (mx,my) + r*(nx,ny)
  • 现在以 N=4 角度增量将 M 点旋转 K 以获得您的绿点
    i-th point: i=1..4gx = kx + (mx-kx)*cos((i/4)*ψ)+(my-ky)*sin((i/4)*ψ)gy = ky - (mx-kx)*sin((i/4)*ψ)+(my-ky)*cos((i/4)*ψ)
  • 关于math - 如何找到连接两个线段的弧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28009585/

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