如何在javascript中实现螺旋迭代?

2023-12-02

以下是以螺旋方式排列圆圈的算法。

遵循顺时针方向。

enter image description here

以下是伪代码(总体)。

        let dir = [1, 0]

        function checkIntersect(c0, c1) {
            const {x0, y0, r0} = c0
            const {x1, y1, r1} = c1
           return Math.hypot(x0-x1, y0-y1) <= (r0 + r1);
        }
        
        for (let i = 0; i < circleCount; i++) {
            for (let j = 0; j < circleCount; j++) {
                if (checkIntersect(circles[i], circles[j])) {
incrementLocation(circles[j])
                    flip(dir)
                }
            }
        }

这就是我想出的螺旋式,但它不起作用!

    const spiralRadii = 3;

    for (let i = 1; i <= radius; i++) {
      let x = 0;
      let y = 0;
      for (let j = 0; j <= 2 * i; j++) {
        if (i % 2 === 0) {
          if (j <= i) {
            x--;
            console.log(x, y);
          } else {
            y++;
            console.log(x, y);
          }
        } else {
          if (j <= i) {
            x++;
            console.log(x, y);
          } else {
            y--;
            console.log(x, y);
          }
        }
      }
    }

以这种方式,我怎样才能以顺时针螺旋方式用带有地址的圆圈填充整个空间?

enter image description here

在每次迭代期间始终遵循顺时针方向 && 检查顺时针方向是否被占用,如果没有将其他所有内容移动到该位置(同时将当前的保持在前一个位置), 如果被占用则向前移动


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在javascript中实现螺旋迭代? 的相关文章

  • 将 OoXml 插入单词抛出错误:未知

    我一直在尝试通过office js将OOXML插入到word文档的正文内容中insertOoXML 方法 我什至尝试过最简单的实现 认为我在尝试替换 XML 本身中的 fieldCodes 时做了一些不正确的事情 所有结果都是这样Error
  • 在 javascript/jquery 中将光标更改为等待

    当调用函数时 如何让光标更改为此加载图标以及如何将其更改回 javascript jquery 中的普通光标 在你的 jQuery 中使用 body css cursor progress 然后又恢复正常 body css cursor d
  • 使用 vscode 调试器调试 next.js

    我已经使用安装了一个项目创建下一个应用程序 https github com segmentio create next app 我需要使用我的编辑器 vscode 调试服务器端渲染 所以我访问过vscode recipes 如何调试 ne
  • 主干视图 DOM 元素已删除

    我一直在阅读有关 Backbone js 僵尸 或内存泄漏 问题的信息 基本上 当您不再需要该元素时 您必须从 DOM 中解除绑定并删除该元素 以确保所有事件也被删除 现在 我有一个包含几个容器的单页应用程序 div div div div
  • 了解设置 JQuery 变量

    了解设置 JQuery 变量 最近 我通过在 StackOverflow 上遇到的另一个问题寻找帮助 了解到如何设置 JQuery 变量 如下所示 您可以通过简单地调用变量来创建输入字段 并且锚变量似乎也定义了样式 var clicked
  • 不和谐机器人 |不和谐.js |类型错误:无法读取未定义的属性“长度”

    我正在制作一个 Discord 机器人 并且正在使用 CodeLyon 的视频作为参考 该错误位于我的 message js 文件中 该文件包含以下内容 require dotenv config create cooldowns map
  • TypeError: props.render 不是一个函数(React hook 形式)

    我将方法作为我用react hook form制作的形式的道具传递 当从react hook form添加控制器时 它给了我 TypeError props render不是一个函数 我在网上找不到任何解决方案 因此感谢任何帮助 impor
  • 解析“流”JSON

    我在浏览器中有一个网格 我想通过 JSON 将数据行发送到网格 但浏览器应该在接收到 JSON 时不断解析它 并在解析时将行添加到网格中 换句话说 在接收到整个 JSON 对象后 不应将行全部添加到网格中 应该在接收到行时将其添加到网格中
  • 检查 JavaScript 字符串是否为 URL

    JavaScript 有没有办法检查字符串是否是 URL 正则表达式被排除在外 因为 URL 很可能是这样写的stackoverflow 也就是说它可能没有 com www or http 如果你想检查一个字符串是否是有效的 HTTP UR
  • 在requestAnimationFrame中使用clearRect不显示动画

    我正在尝试在 HTML5 画布上做一个简单的 javascript 动画 现在我的画布是分层的 这样当我收到鼠标事件时 背景层不会改变 但带有头像的顶层会移动 如果我使用 requestAnimationFrame 并且不清除屏幕 我会看到
  • Jquery/Javascript 上传和下载文件,无需后端

    是否可以在没有后端服务器的情况下在 JavaScript 函数中下载和上传文件 我需要导出和导入由 JavaScript 函数生成的 XML 我想创建按钮 保存 xml 来保存文件 但我不知道是否可行 另一方面 我希望将 XML 文件直接上
  • 通过 CDN 使用 Dojo 时如何加载自定义 AMD 模块?

    我正在使用 google 的 CDN 并尝试使用他们的加载程序加载我自己的 AMD 模块 我知道我做错了什么 但我被困住了 有任何想法吗
  • Grails 在 javascript 内的 GSP 站点中使用 grails var

    我有一个在 GSP 文件中的 javascript 代码中使用 grails 变量值的问题 例如 我有一个会话值session getAttribute selectedValue 我想在 javascript 代码部分使用这个值 我现在的
  • Electron - 为什么在关闭事件时将 BrowserWindow 实例设置为 null

    The 电子文档 https electronjs org docs api browser window 提供以下代码示例来创建新窗口 const BrowserWindow require electron let win new Br
  • Angular 2+ 安全性;保护服务器上的延迟加载模块

    我有一个 Angular 2 应用程序 用户可以在其中输入个人数据 该数据在应用程序的另一部分进行分析 该部分仅适用于具有特定权限的人员 问题是我们不想让未经授权的人知道how我们正在分析这些数据 因此 如果他们能够在应用程序中查看模板 那
  • Javascript 数组到 VBScript

    我有一个使用 Javascript 构建的对象数组 我需要使用 VBScript 读取它 如下例所示 我找不到在 VbScript 代码中循环遍历数组的方法myArray object 这个例子是我的问题的简化 我无法更改页面的默认语言 这
  • 如何使用tampermonkey模拟react应用程序中的点击?

    我正在尝试使用 Tampermonkey 脚本模拟对 React 元素的点击 不幸的是 由于 React 有自己的影子 DOM 所以天真的方法使用document querySelector 不工作 我遇到了一些需要修改 React 组件本
  • 如何在类似控制台的环境中运行 JavaScript?

    我正在尝试遵循这里的示例 http eloquentjavascript net chapter2 html http eloquentjavascript net chapter2 html and print blah 在浏览器中运行时
  • 如何更改此 jquery 插件的时区/时间戳?

    我正在使用这个名为 timeago 的插件 在这里找到 timeago yarp com 它工作得很好 只是它在似乎不同的时区运行 我住在美国东部 费城时区 当我将准确的 EST 时间放入 timeago 插件时 比如 2011 05 28
  • 为什么 jquery 没有检测到单选按钮未被选中的情况? [复制]

    这个问题在这里已经有答案了 可能的重复 JQuery radioButton change 在取消选择期间不会触发 https stackoverflow com questions 5176803 jquery radiobutton c

随机推荐

  • 如何使 SPA SEO 可抓取?

    我一直在研究如何基于 google 制作一个可以被 google 抓取的 SPA指示 尽管有很多一般性解释 但我找不到任何带有实际示例的更全面的分步教程 完成此操作后 我想分享我的解决方案 以便其他人也可以使用它并可能进一步改进它 我在用M
  • Swift Array 在 Xcode 6.1.1 中导致索引问题

    对于我的应用程序 我创建了一个结构来存储团队名称和字体值 数组 teams 包含 20 个不同条目的字典 示例代码 struct TeamInfoLibrary var teams name Arsenal stadiumImage tea
  • 使用 JDBC 准备好的语句时出现 SQL 1064 语法错误

    I have String query INSERT INTO Basestations VALUES PreparedStatement prep conn prepareStatement query prep setInt 1 pro
  • 交换或分配字符串向量更快?

    我有一个带有字符串向量的类和一个分配给该向量的函数 我正在更改我的函数 仅在成功时才分配给向量 为此 我在函数中使用临时字符串向量 然后如果函数成功 我将分配给类中的字符串向量 例如 class test vector
  • 浏览骆驼案例

    我正在使用 Eclipse 我希望可以通过按 STRG 在驼峰式书写的单词之间跳转 现在我正在使用 Sublime 但我找不到这样做的快捷方式 也找不到实现它的插件 下面的例子显示了我的问题 函数名 在 Eclipse 中它从a to th
  • 更改应用程序的语言而不更改设备的设置

    我正在制作一个 Android 应用程序 我想在微调器中选择特定语言时更改应用程序的语言 而不更改设备的语言 我为所有语言制作了不同的字符串文件 现在下一步该怎么办 有人可以帮我解决这个问题吗 谢谢 最简单的方法就是更改虚拟机的区域设置 例
  • 将日志刷新到磁盘,VerifyOSHandlePosition 中出现异常

    如何从 C 服务写入日志文件以便及时将其刷新到磁盘 这是我尝试过的 在记录代码中 我打开了一个如下文件 var file return File Open name FileMode Append FileAccess Write File
  • ARM v7 BKPT 指令在 Linux 2.6.35 上无法正常工作

    我遇到的问题是与 Linux 2 6 35 上的 ARM v7 上的 BKPT 指令连接 主要原因是故障指令 bkpt 的地址不正确 与ARM v7手册不对应 以下是重现步骤 将操作系统 SIGBUS 处理程序重新定义为我的 SIGBUS
  • 当属性名称的第二个字符是大写时抛出 javax.el.PropertyNotFoundException

    我有一个不寻常的场景 我有一个注册VO 其中有一些属性和吸气剂设置器 例如city or bCity用他们的 getter 方法getCity and getBCity 在 JSP 中 我尝试使用 scriplet 显示这些属性的值 和 r
  • 为什么我们不能添加带有整数的迭代器?

    我想通过迭代器打印集合的所有值 打印所有值后我想打印一个endl没有最后一个 这是我的代码 for set
  • Azure Key Vault 不允许通过专用终结点连接进行访问

    我有一个天蓝色的网络服务 linux 和天蓝色的密钥保管库 我配置了两个专用端点 以允许 Azure Key Vault 和 Azure Web 应用程序之间的通信 我设置了所有权限key vault s access policy 我已经
  • 如何在视图页面中的片段之间传递字符串

    我试图在 viewpager 中的两个片段之间传递一个字符串 但我没有找到正确的方法 到目前为止 这是我的代码 public class MyFragmentPagerAdapter extends FragmentPagerAdapter
  • grep -w 查找具有非拉丁字母的单词的部分匹配

    我想 grep 查找 er 的精确匹配 但是 grep w 除了精确匹配之外 还发现带有非拉丁字母 例如 的单词的部分匹配 下面的命令在 gro er 和 wei er 中查找 er 预期的行为是 grep 只找到下面字符串中 er 的精确
  • 越界访问数组有多危险?

    访问超出数组范围的数组 在 C 语言中 有多危险 有时可能会发生我从数组外部读取的情况 我现在知道我然后访问程序的其他部分甚至超出范围使用的内存 或者我尝试将值设置为数组外部的索引 程序有时会崩溃 但有时只是运行 只会给出意想不到的结果 现
  • Swift 中的数学解析器 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我想知道 Swift 中是否有任何不错的数学解析器 也就是说 它可以取一个字符串并解决它 我需要它具有阶乘 指数 平方根和所有基本算术运算符 我希望
  • SQL 选择即将到来的生日

    我正在尝试编写一个存储过程来选择即将过生日的员工 SELECT FROM Employees WHERE Birthday gt Today AND Birthday lt Today NumDays 这不起作用 因为出生年份是生日的一部分
  • 错误:无法创建符号链接,致命:无法将索引文件重置为修订版“HEAD”

    我正在尝试硬重置git reset origin dev hard error unable to create symlink Codes Pods Headers Public libPhoneNumber iOS NBPhoneNum
  • onMouseMove 不会在 Chrome 中的

    假设我有一个 onMouseMove 监听器 它只记录鼠标的 x 和 y 位置 如果我展开一个选择元素并将鼠标移到暴露的元素上
  • 计算将一个矩形的点 1(x,y 坐标)转换为另一矩形的点 1(x,y)的比例因子

    将一个矩形的 x y 坐标缩放到其他矩形坐标的过程非常简单 此链接有更好的解释 http www icoachmath com math dictionary scale factor html 如果我们有两个矩形 其中一个的 Maxwid
  • 如何在javascript中实现螺旋迭代?

    以下是以螺旋方式排列圆圈的算法 遵循顺时针方向 以下是伪代码 总体 let dir 1 0 function checkIntersect c0 c1 const x0 y0 r0 c0 const x1 y1 r1 c1 return M