- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试寻找圆心。我唯一的信息是:圆圈中的两个随机点和圆圈凸起。到目前为止,我已经设法计算出圆的半径(至少我认为我做到了)。我将在我目前使用的等式下面发布。
这些只是随机值,会根据用户输入而改变)
A 点(x = 10,y = 15)PointB(x = 6, y = 12)
circle_bulge = 0.41
距离 = B 点 - A 点
半径 = (距离/4) * (circle_bulge + (1/circle_bulge ))
如果这个数学不正确,请告诉我,但请记住,我需要找到圆心的 X 和 Y 坐标
最佳答案
这是问题的图片:
根据定义,凸起是 b = tg(Alpha/4)
根据三角函数公式:tg(2 角度) = 2tg(角度)/(1-tg2(角度))
应用于角度 = Alpha/4 并使用凸起的定义:
tg(Alpha/2) = 2 b/(1-b2)
另一方面
tg(Alpha/2) = s/d
然后
s/d = 2 b/(1-b2 ) 和
d = s(1-b2)/(2 b)
这允许我们计算 d 因为 b 是已知的并且 s = ||B - A||/2,其中 ||B - A||表示向量 B - A 的范数。
现在,让我们计算一下
(u,v) = (B - A)/||B - A||
然后 ||(u,v)|| = 1, (v,-u) 与 B - A 正交,我们有
C = (v,-u)d + (A +B)/2
更新
计算中心的伪代码
输入:
A = (a1, a2), B = (b1, b2) "two points"; b "bulge"
计算:
"lengths"
norm := sqrt(square(b1-a1) + square(b2-a2)).
s := norm/2.
d := s * (1-square(b))/(2*b)
"direction"
u := (b1-a1)/ norm.
v := (b2-a2)/ norm.
"center"
c1 := -v*d + (a1+b1)/2.
c2 := u*d + (a2+b2)/2.
Return C := (c1, c2)
注意:中心有两种解决方案,另一种是
c1 := v*d + (a1+b1)/2.
c2 := -u*d + (a2+b2)/2.
Return C := (c1, c2)
关于algorithm - 找到只有 2 个随机点和凸起的圆心(x 和 y 位置),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29105838/
我有一个页面布局,它在一个可变宽度的容器内使用具有恒定宽度和可变高度的 float 框(为了这个问题,我将其设置为常量)。这是我页面的代码: CSS: #main { width: 640px
我是一名优秀的程序员,十分优秀!