Java 爪哇圆交点-中心截面

Java 爪哇圆交点-中心截面,java,android,geometry,Java,Android,Geometry,我正在尝试获取圆弧的坐标(用蓝色表示)(这样我就可以在Android path.drawArc()中可视化地为“中心”部分(用红色表示)绘制任意2个(最终是$n$)圆的坐标 我发现了,但不幸的是我根本没有数学头脑 我已经编码了一些东西来找到交叉点。。。如果有帮助的话?我看不到路径。drawArc(),只有和。所有这些都需要一个RectF-oval参数,我猜它描述了圆的大小和位置。因此,如果要绘制透镜形状区域的右边界,这属于左圆的边界,因此您需要将oval设置为左圆的边界框。然后需要两个角度,s

我正在尝试获取圆弧的坐标(用蓝色表示)(这样我就可以在Android path.drawArc()中可视化地为“中心”部分(用红色表示)绘制任意2个(最终是$n$)圆的坐标

我发现了,但不幸的是我根本没有数学头脑


我已经编码了一些东西来找到交叉点。。。如果有帮助的话?

我看不到路径。drawArc(),只有和。所有这些都需要一个
RectF-oval
参数,我猜它描述了圆的大小和位置。因此,如果要绘制透镜形状区域的右边界,这属于左圆的边界,因此您需要将
oval
设置为左圆的边界框。然后需要两个角度,
startAngle
sweepAngle
。可以从中获取它们,其中
(x,y)
是从圆心指向其中一个交点的向量。因此,了解交点将非常有用。您将使用一个来计算第一个圆弧的起始角度,另一个计算第一个圆弧的结束角度。扫掠角度只是结束和开始之间的差值。对于第二个弧,反转start和end的角色,您将获得一个基本上闭合的路径,尽管您可能必须发出显式调用以使该闭合显式

另一种方法是使用<代码>圆圈1和
圆圈2
可以通过以下方式形成。这种方法将整个交集数学委托给框架,但它确实需要一个最新的API(即API级别19),因此它不能在旧设备上工作


从阅读参考资料和了解类似框架的行为来看,以上所有内容都没有经过测试。

Brilliant!工作完美(这段代码中几乎需要一个奇怪的-87)
public float-getAngle(PointF-oOrigin,PointF-oTarget){float-fAngle=(float)Math.toDegrees(Math.atan2(oTarget.x-oOrigin.x,oTarget.y-oOrigin.y));if(fAngle<0){fAngle+=360;}返回fAngle-87;//-87以调整Android坐标系(?)
@user3398063:我猜这更像是
90
而不是
87
,我猜这是因为您计算了
atan2(x,y)
而不是
atan2(y,x)
,如我的回答所示。