gpt4 book ai didi

c# - 如何加入重叠的圈子?

转载 作者:IT王子 更新时间:2023-10-29 04:32:56 25 4
gpt4 key购买 nike

我想在视觉上连接两个重叠的圆圈

AltText

成为

alt text

我已经有了部分圆的方法,但现在我需要知道圆的重叠角有多大,我不知道该怎么做。

有人有想法吗?

最佳答案

Phi= ArcTan[ Sqrt[4 * R^2 - d^2] /d ]

喂!

编辑

对于两个不同的半径:

稍微简化一下:

Phi= ArcTan[Sqrt[-d^4 -(R1^2 - R2^2)^2 + 2*d^2*(R1^2 + R2^2)]/(d^2 +R1^2 -R2^2)]

编辑

如果你想要从另一个圆心看的角度,只需将最后一个等式中的 R1 换成 R2 即可。

这是 Mathematica 中的示例实现:

f[center1_, d_, R1_, R2_] := Module[{Phi, Theta},

Phi= ArcTan[Sqrt[-d^4-(R1^2-R2^2)^2 + 2*d^2*(R1^2 + R2^2)]/(d^2 +R1^2 -R2^2)]

Theta=ArcTan[Sqrt[-d^4-(R1^2-R2^2)^2 + 2*d^2*(R1^2 + R2^2)]/(d^2 -R1^2 +R2^2)]

{Circle[{center1, 0}, R1, {2 Pi - Phi, Phi}],
Circle[{d, 0}, R2, {Pi - Theta, -Pi + Theta}]}

];
Graphics[f[0, 1.5, 1, 1]]

alt text

Graphics[f[0, 1.5, 1, 3/4]]  

alt text

还有……

ImageMultiply[
Binarize@FillingTransform[#],
ImageResize[Import@
"http://i305.photobucket.com/albums/nn235/greeneyedgirlox/blondebabybunny.jpg",
ImageDimensions@#]] &@
Rasterize@Graphics[f[0, 1.5, 1, 1], Background -> Black]

alt text

:)

关于c# - 如何加入重叠的圈子?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4463933/

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