JavaScript 中的圆碰撞

2023-11-24

对于学校,我需要用 JavaScript 编写一个程序来判断圆圈是否发生碰撞。

它不需要以图形方式显示。

我尝试了一下,但我的代码似乎不起作用。我该如何修复它?

这是我生成的代码:

function collision (p1x, p1y, r1, p2x, p2y, r2) {
    var a;
    var x;
    var y;

    a = r1 + r2;
    x = p1x - p2x;
    y = p1y - p2y;

    if (a > (x*x) + (y*y)) {
        return true;
    } else {
        return false;
    }
}
var collision = collision(5, 500, 10, 1000, 1500, 1500);
alert(collision);

您的支票应该是if (a > Math.sqrt((x*x) + (y*y))) http://cgp.wikidot.com/circle-to-circle-collision-detection

所以完整的代码是

function collision(p1x, p1y, r1, p2x, p2y, r2) {
  var a;
  var x;
  var y;

  a = r1 + r2;
  x = p1x - p2x;
  y = p1y - p2y;

  if (a > Math.sqrt((x * x) + (y * y))) {
    return true;
  } else {
    return false;
  }
}
var collision = collision(5, 500, 10, 1000, 1500, 1500);
console.log(collision);

并且为了减少计算量的实现(对代码片段使用 ES7 语法) use

const checkCollision = (p1x, p1y, r1, p2x, p2y, r2) => ((r1 + r2) ** 2 > (p1x - p2x) ** 2 + (p1y - p2y) ** 2)

var collision = checkCollision(5, 500, 10, 1000, 1500, 1500);
console.log(collision);

正如达雷克·罗斯曼 (Darek Rossman) 所示他的回答.

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

JavaScript 中的圆碰撞 的相关文章

  • 从 HTML 字符串中解析和选择

    使用 ajax 调用 我返回了页面的partialView HTML 但在显示它之前 我希望从主 div 中提取信息 如果我创建一个浮动窗口 该数据只是大小信息 Code div class window details more data
  • AJAX 安全问题

    我希望能够解决一些关于 AJAX 安全性的问题 这是我试图理解的一个场景 假设我正在使用 AJAX 向页面请求一些半敏感材料 例如 我将把用户的 ID 传递给一个 php 文件 并返回一些关于他们自己的信息 现在 是什么阻止人们模拟此 Ja
  • 将 Regex 对象分配给 html 输入模式

    我需要以编程方式将正则表达式对象分配给输入元素模式属性 以下是我当前的实现 var regex d 5 element attr pattern regex toString slice 1 1 有没有更好的方法来做到这一点而不需要字符串操
  • 如何将值发布到输入框中?

    Intro I would like to get the current time after clicking at click and POST the value into input text box Note 假设包含引导样式表
  • 在节点环境中存根 jQuery.ajax (jQuery 2.x)

    我正在尝试运行一些需要存根的测试jQuery ajax 我正在使用 SinonJS 来做到这一点 它曾经与旧版本的 jQuery 1 x 一起工作得很好 var require jquery var sinon require sinon
  • Javascript 对象属性名称

    在 C 中 可以将对象属性的名称作为字符串值获取 名称 对象 Property gt myProperty 这可以在 Javascript Typescript 中完成吗 Object Keys 是我找到的唯一东西 但它给了我所有的键 示例
  • 从选择 onChange 调用 javascript 函数 [重复]

    这个问题在这里已经有答案了 所以我有一个简单的 HTML 选择框和一个 javascript 警报功能 我希望选择框有一个 onchange 事件来调用 javascript 警报函数 这是我到目前为止所拥有的 HTML div Type
  • 如何将 Ajax.BeginForm MVC 助手与 JSON 结果一起使用?

    我正在尝试使用 ASP NET MVC Ajax BeginForm 帮助程序 但不想在调用完成时使用现有的内容插入选项 相反 我想使用自定义 JavaScript 函数作为回调 这可行 但我想要的结果应该以 JSON 形式返回 不幸的是
  • 更新存储在 chrome 扩展本地存储中的对象

    我正在开发一个 chrome 扩展 我将存储服务器发送的对象 例如 我将收到 命令 id 1 类型 A 大小 B 优先级 C 如果我有一个数据库 我会将其作为表中的一行插入commands 使用 chrome storage 我将这些对象的
  • 如何将一个数组中的所有项目复制到另一个数组中?

    如何将数组的每个元素 其中元素是对象 复制到另一个数组中 以便它们完全独立 我不想更改一个数组中的元素来影响另一个数组 这里的关键是 数组中的条目是对象 并且 您不希望对一个数组中的对象的修改显示在另一个数组中 这意味着我们不仅需要将对象复
  • websockets 如何处理同一浏览器的两个选项卡

    I have 1 个 PHP 服务器 提供 http 请求 和 1 node js 发布更新的数据消息 每个连接都带有 websocket php 服务器设置其 cookie 在一个浏览器中 此 cookie 可在所有选项卡中使用 当浏览器
  • 使用javascript以编程方式触发iOS safari中的复制菜单?

    我正在尝试实现一种用户友好的方式 将一些文本从文本输入字段复制到 iOS Safari 上的剪贴板 我知道无法在这个平台上以编程方式完成此操作 但我希望能够尽可能地指导用户体验 在 iOS Safari 上 当用户手动突出显示某些文本时 会
  • node.js 模块/导出系统:是否可以将模块导出为函数

    我想在 Dispatch js 中做这样的事情 function handle msg exports handle 这在调用index js中 var dispatch require Dispatch dispatch data 有任何
  • 为什么 call 比 apply 快那么多?

    我想知道是否有人知道why call比apply 在 Chrome 中 速度大约快 4 倍 在 Firefox 中快 30 倍 我什至可以制作自定义原型 apply2 在大多数情况下 运行速度是apply 这个想法取自角度 Function
  • 从网页运行 ClickOnce 应用程序,无需用户操作

    我们有一个基于 Java 的 Web 应用程序以及用 C 编写的相同应用程序 如果 java 检查器发现客户端计算机上没有安装 Java 则应该运行该应用程序 这个想法是运行 C 单击一次 http en wikipedia org wik
  • 了解 Document.createElement()

    我在用着GWT及其底层DOM能力 我基本上想要实现的是 Have a div包含一些文本的元素 其中一些文本将被包围span元素 span 元素可相互拖动并提供上下文菜单 New span元素可以由最终用户动态创建 它可能是这样的 在应用程
  • 当php脚本通过ajax运行时显示进度条

    我有一个通过 ajax 向服务器提交值的表单
  • 如何在 React Native 中使用相同的 Firebase 数据库在两个应用程序之间进行通信?

    我有两个不同的应用程序使用相同的实时数据库 在第一个应用程序中 我发送的订单包含一些要保存在数据库中的数据字段 在另一个应用程序中 我只添加一个侦听器 firebase database ref userOrder currentUser
  • 将 html 文本框的值分配给 div 的标题

    line 1
  • 将引导程序弹出框保留在视口内

    我正在尝试使用带有按钮的侧边栏创建一个菜单 每个按钮都有一个指定的包含相关数据的弹出窗口 不幸的是 其中一个弹出窗口可能包含任意数量的行 并且在某些情况下它可能部分位于视口之外 See http jsfiddle net bfd9f 1 h

随机推荐

  • 读取带有动态键字段的表?

    我有一张桌子的名字DATA lv tablename TYPE tabname VALUE xxxxx 和一个通用的FIELD SYMBOLS
  • 激活资源过滤后编码错误

    我正在开发一个基于 Maven 的网络项目 在我的网络模块中 我使用不同语言的特定资源包 德语 西班牙 我的所有源代码均基于 UTF 8 一切正常 现在需要根据不同的maven配置文件激活maven资源过滤来替换一些配置 我的 pom xm
  • 通过表达式在变量中设置 SSIS 包中昨天的日期

    我正在设置一个变量SSIS包 我正在使用这个表达式 DATEPART yyyy GETDATE 10000 DATEPART month GETDATE 100 DATEPART day GETDATE 该表达式将为我提供一个变量值 例如
  • 如何将 String 转换为 BeautifulSoup 对象?

    我正在尝试抓取新闻网站 并且需要更改一个参数 我将其更改为替换为下一个代码 while i lt len links conn urllib urlopen links i html conn read soup BeautifulSoup
  • read.csv 警告“带引号的字符串内的 EOF”阻止完整读取文件

    I have CSV 文件 24 1 MB 我无法完全读懂我的 R 会话 当我在电子表格程序中打开该文件时 我可以看到 112 544 行 当我将其读入 R 时read csv我只收到 56 952 行和此警告 cit lt read cs
  • 如何在 OpenCV 中读取 Adob​​e RGB 色彩空间的 jpeg 图像?

    我正在尝试在 OpenCV 中使用 Adob e RGB 色彩空间读取和写入 jpeg OpenCV 假定 jpeg 具有 sRGB 色彩空间 并且在显示或写入文件时 图像会丢失一些颜色强度 我发现这种强度损失是由于我的答案的色彩空间差异造
  • 如何在 auto_increment 列中找到“漏洞”?

    例如 当我删除 id 3 时 我有以下内容 id name 1 2 4 5 现在 我想搜索丢失的 id 因为我想再次填充 id INSERT INTO xx id VALUES 3 有没有办法在 auto increment 索引中搜索 漏
  • 在 Visual Studio 2015 中调试本机 Android 库时断点不起作用

    在全新安装的 Visual Studio 2015 上 我创建了一个 Android 应用程序和 Android 本机库 本机库中的函数通过 DllImport 指令在应用程序代码中引用 当我为主应用程序选择 Xamarin 调试器 并开始
  • 如何让我的通用比较器 (IComparer) 处理空值?

    我正在尝试编写一个用于排序的通用对象比较器 但我注意到它不能处理它所比较的 值之一为空的实例 当一个对象为空时 我希望它像空字符串一样对待它 我尝试将 null 值设置为 String Empty 但在调用 CompareTo 时出现 对象
  • 如何调试已签名发布的 APK?

    我有一个已发布的 APK 已签名 上传到 Google Play 并安装在我的 Android 设备上 我想在我的 Android 设备上运行此 APK 时对其进行调试 通过 Android Studio 或 Eclipse 我以前做过这个
  • 为什么当我将鼠标悬停在 VS Code 上时,它会出现类似芯片/扭曲的显示?

    这是我尝试使用 VS Code 时得到的视图 我已经重新安装并重新启动了系统 但没有任何进展 每当我打开 VS Code 并想要启动一个项目时 当我悬停鼠标时 情况会变得越来越糟 我最初以为我的一般显示有问题 它不会影响其他应用程序 只是
  • 我应该在构造函数中使用 getter 和 setter 吗? [复制]

    这个问题在这里已经有答案了 初始化类时 在构造函数中使用 getter 和 setter 函数是一个好习惯吗 或者直接设置变量是一个好习惯 因为构造函数可以被认为是一种变异器 您不应该从构造函数中调用 getter 和 setter 构造函
  • 带有宏的类型安全通用容器

    我正在尝试使用宏在 C 中创建类型安全的通用链表 它的工作方式应该与 C 中模板的工作方式类似 例如 LIST int list LIST CREATE int 我的第一次尝试是为了 define LIST TYPE 我上面使用的宏 定义一
  • 从“react”导入 React 会导致未捕获的语法错误:意外的标识符

    我已经安装了 webpack 3 以及 babel 和我的条目index js bundle js将构建并运行 我已经使用 ES7 8 功能对其进行了测试 但是导入不起作用并导致Uncaught SyntaxError Unexpected
  • “= =”是什么意思? [复制]

    这个问题在这里已经有答案了 我注意到有人使用 PHP 运算符 我无法理解 我用一个函数尝试过 它以疯狂的方式对应 这个运算符的定义是什么 我什至在 PHP 运算符的声明中找不到它 a b Identical TRUE if a等于 b 并且
  • Android:无法销毁活动

    我使用以下代码来删除每个视图组上的子项 protected void onDestroy super onDestroy this liberarMemoria public void liberarMemoria imagenes rec
  • 如何获取应用程序的Windows任务栏按钮以显示进度条的进度

    Windows 7 或者是 Vista 中引入的功能之一是应用程序的任务栏按钮能够显示该应用程序中进度条的进度 当我创建表单并在其上放置进度条时 它不会显示在任务栏按钮中 因此我认为这不会自动完成 如何让 Windows 7 在应用程序的任
  • CUDA 零复制内存注意事项

    我试图弄清楚使用 cudaHostAlloc 或 cudaMallocHost 是否合适 我正在尝试运行一个内核 其中我的输入数据超过 GPU 上的可用数据量 我的 cudaMallocHost 空间可以大于 GPU 上的空间吗 如果没有
  • 获取数组中具有某些属性的项目数

    我有一系列对象 如下所示 scope students isSelected true isSelected true isSelected false isSelected true isSelected true 我怎样才能得到有的计数
  • JavaScript 中的圆碰撞

    对于学校 我需要用 JavaScript 编写一个程序来判断圆圈是否发生碰撞 它不需要以图形方式显示 我尝试了一下 但我的代码似乎不起作用 我该如何修复它 这是我生成的代码 function collision p1x p1y r1 p2x