gpt4 book ai didi

javascript - 有两个圆圈和一个点。如何沿着它绕圈

转载 作者:行者123 更新时间:2023-11-29 16:04:58 25 4
gpt4 key购买 nike

我遇到了设计图标的数学问题,我正在寻找 JavaScript 解决方案。

我取了 2 个圆,每个圆的半径和位置都不同,还有一个点。我想知道包含这两个圆并沿着该点的最小圆。

enter image description here

红色圆圈是我想知道的圆圈

想要这样的功能:

function calculate(c1x, c1y, c1r, c2x, c2y, c2r, px, py){
//Calculation
return {
x: outX,
y: outY,
r: outR
};
}

最佳答案

有很多退化的情况:一个圆圈在另一个圆圈内等等。

对于最一般的情况 - 大圆同时接触两个小圆并穿过点 - 我们需要求解三个方程组的三个未知数 cx, cy, R:

(px - cx)^2 + (py - cy)^2 = R^2
(cx1 - cx)^2 + (cy1 - cy)^2 = (R-r1)^2
(cx2 - cx)^2 + (cy2 - cy)^2 = (R-r2)^2

你可以尝试用纸和笔来解决它,或者使用一些程序进行符号计算,如 Maple、Mathematica、Matlab、MathCad 等。

附言稍微简化计算,从所有值中减去点坐标,求解系统

cx^2 + cy^2 = R^2
(cx1' - cx)^2 + (cy1' - cy)^2 = (R-r1)^2
(cx2' - cx)^2 + (cy2' - cy)^2 = (R-r2)^2

并将px,py添加到结果中

关于javascript - 有两个圆圈和一个点。如何沿着它绕圈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45882342/

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