java - 递归将同心圆压缩 10%,同时保持相对于中心的位置

标签 java recursion geometry

右圆没有使用递归,但我希望递归圆(左)看起来相似。可能是很少的代码会在需要时提供更多。这是我正在努力解决的使凝聚圆保持在中心的方程式。谢谢您的任何帮助,我们将不胜感激。

// 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);
    }

最佳答案

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

这是计算过程的近似图。

enter image description here

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);
}

关于java - 递归将同心圆压缩 10%,同时保持相对于中心的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47724905/

相关文章:

recursion - 堆栈的 Lisp 递归问题

ios - 如何使用 CoreGraphics iOS Cocos2d 制作 Sprite

android - 几何概念的解释

java - 这个 java 应用程序可以在 Heroku 上运行吗?

java - Esper:如何对温度过高做出即时 react ,并且每30秒快照一次?

ruby - 查找并返回嵌套数组中最长的数组及其大小

java - Java中队列链表中的递归toString

algorithm - 问题计算角度

java - Intellij IDEA。总是显示 maven 的 `target` 目录

java - 获取 MySQL 表中某列的 SUM 并将其放入 JTextField