首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >递归压缩10%的同心圆,同时保持相对于中心

递归压缩10%的同心圆,同时保持相对于中心
EN

Stack Overflow用户
提问于 2017-12-09 11:05:22
回答 1查看 279关注 0票数 1

右边的圆圈没有使用递归,但我希望递归的圆圈(左边)看起来类似。如果需要,可能只需要很少的代码就能提供更多。这是一个使凝聚圆保持在中心的方程,我正在努力解决这个问题。谢谢您的帮助,我们将不胜感激。

代码语言:javascript
运行
复制
// Initial attempt      
      if (diameter >= 20) {
        double newDiameter = diameter * .9;
        drawCircles(newDiameter, xCorner += deltaDiameter * 2, yCorner += deltaDiameter * 2, g2);
    }

 // Working code
    if (diameter >= 20) {
        double newDiameter = diameter - deltaDiameter;
        drawCircles(newDiameter, xCorner += (deltaDiameter / 2), yCorner += 
       (deltaDiameter / 2), g2);
    }
EN

回答 1

Stack Overflow用户

发布于 2017-12-09 11:38:29

由于xCorneryCorner是左上角坐标,因此需要正确计算新坐标。请尝试输入这段代码,我将很快在答案中添加更多信息。这是假设您的初始diameter=255xCorner=0yCorner=10deltaDiameter=10

这是计算过程的近似图。

代码语言:javascript
运行
复制
if (diameter >= 20) {
    double newDiameter = diameter - deltaDiameter;
    // System.out.println(xCorner + 255);
    drawCircles(newDiameter, xCorner += (1.414 * 0.5 * deltaDiameter), yCorner += (1.414 * 0.5 * deltaDiameter), g2);
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47724905

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档