JavaScript atan2() 函数未给出预期结果

2023-12-28

通常,极坐标从 0 到π到 2π(实际上就在 2π 之前,因为它又等于 0)。然而,当使用 JavaScriptatan2()函数,我得到了一个不同的、奇怪的范围:



Cartesian X | Cartesian Y | Theta (θ)
===========================================================
     1      |      0      | 0 (0 × π)
     1      |      1      | 0.7853981633974483 (0.25 × π)
     0      |      1      | 1.5707963267948966 (0.5 × π)
    -1      |      1      | 2.356194490192345 (0.75 × π)
    -1      |      0      | 3.141592653589793 (1 × π)
    -1      |     -1      | -2.356194490192345 (-0.75 × π)
     0      |     -1      | -1.5707963267948966 (-0.5 × π)
     1      |     -1      | -0.7853981633974483 (-0.25 × π)
  

正如你所看到的,达到后π(180°),它会跳到 –π (–180°),然后返回到 0。我怎样才能让它使用这个范围{0, ..., 2π}代替{–π, ..., π}?我一直在尝试考虑每一个计算来“修复”这些值,但我也想知道为什么 JavaScript 选择这个范围而不是典型的极坐标范围。谢谢!


这是相当标准的atan2返回该范围内的角度;例如,这就是atan2C 标准库中确实如此。

如果您想要 0..2pi 而不是 -pi..pi,请测试结果是否为负数,如果是则添加 2pi。

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

JavaScript atan2() 函数未给出预期结果 的相关文章

  • 如何检测浏览器是否支持自定义元素

    我正在查看 Modernizr 它应该有助于功能检测 这应该可以帮助确定您的网站是否与给定的 Web 浏览器兼容 但我没有看到任何表明我可以使用它来检测自定义 HTML 的内容我们在内容中创建和定义的元素 如果不是 Modernizr 我如
  • 将 OoXml 插入单词抛出错误:未知

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

    当调用函数时 如何让光标更改为此加载图标以及如何将其更改回 javascript jquery 中的普通光标 在你的 jQuery 中使用 body css cursor progress 然后又恢复正常 body css cursor d
  • 如何在同一页面上使用AJAX处理多个表单

    我有一个表单 当我单击 提交 时 它就被提交了 然后该表单隐藏 操作页面的结果显示在 div 中 classname dig 它工作正常 但是当我添加另一个表单时 它停止正常工作并且所有表单同时提交 我如何更改我的代码 done click
  • 使用 vscode 调试器调试 next.js

    我已经使用安装了一个项目创建下一个应用程序 https github com segmentio create next app 我需要使用我的编辑器 vscode 调试服务器端渲染 所以我访问过vscode recipes 如何调试 ne
  • 从数据 URI 解码 QR 码

    我尝试从数据 uri 中解码二维码 var dataUri data image gif base64 R0lGODdh9gD2AIAAAAAAAP ywAAAAA9gD2AAAC decodeQrCode dataUri cb 我已经尝试
  • 每 3 秒重复一次动画

    我正在使用 WOW js 和 animate css 现在我正在将 CSS 运行到 Infinite 我想知道如何让我的课程运行 3 秒停止并再次开始到无限 My html img src images fork png class for
  • 不和谐机器人 |不和谐.js |类型错误:无法读取未定义的属性“长度”

    我正在制作一个 Discord 机器人 并且正在使用 CodeLyon 的视频作为参考 该错误位于我的 message js 文件中 该文件包含以下内容 require dotenv config create cooldowns map
  • Web 串行 API - 未捕获(承诺中)DOMException:无法打开串行端口/所需成员 baudRate 未定义

    下面的代码可以在我的 Xubuntu 机器上运行 但现在我在 Kubuntu 上 它不再工作了 它不会打开端口 Arduino IDE 工作正常 可以向开发板写入代码 并且我可以在 Chrome 中选择设备 Arduino Uno 但当我尝
  • 使用 useReducers 调度函数发送多个操作?

    使用时是否可以通过调度函数发送多个动作useReducer挂钩反应 我尝试向它传递一组操作 但这会引发未处理的运行时异常 明确地说 通常会有一个初始状态对象和一个减速器 如下所示 const initialState message1 nu
  • 检查 JavaScript 字符串是否为 URL

    JavaScript 有没有办法检查字符串是否是 URL 正则表达式被排除在外 因为 URL 很可能是这样写的stackoverflow 也就是说它可能没有 com www or http 如果你想检查一个字符串是否是有效的 HTTP UR
  • 如何监听 jQuery AJAX 请求?

    以下两种实现 ajaxRequest 1 2 的方法应该是等效的 话说回来 为什么验证回调已执行的单元测试 3 在 1 中成功而在 2 中失败 我应该如何重写测试 3 来监视 2 中的成功回调 如果我尝试stub jQuery ajax使用
  • 可以使用 jQuery 或 Javascript 将图片的特定部分用作链接吗?

    我有这个想法 将图片 而不是文本 的各个部分链接到不同的页面或网站 并且我想在不实际创建不同的照片并将它们彼此靠近的情况下完成 这样看起来就像是一张完整的图片 这里有人知道如何使用 JavaScript 的变体 例如 jQuery 或纯 J
  • 为什么是 javascript:history.go(-1);无法在移动设备上工作?

    首先 一些背景 我有一个向用户呈现搜索页面 html 表单 的应用程序 填写标准并单击 搜索 按钮后 结果将显示在标准部分下方 在结果列表中 您可以通过单击将您带到新页面的链接来查看单个结果的详细信息 在详细信息页面中 我添加了一个 返回结
  • 如何将 Google Charts 与 Vue.js 库一起使用?

    我正在尝试使用 Vue js 库使用 Google Charts 制作图表 但我不知道如何添加到 div 这是我尝试做的 这是如何使用普通 javascript 添加图表 这是文档的代码示例 https developers google
  • 在 webpack 2.x 中使用 autoprefixer 和 postcss

    如何使用autoprefixer使用 webpack 2 x 以前 它曾经是这样的 module loaders test scss loader style css sass postcss postcss gt return autop
  • 如何在react-native中获取Text组件的onPress值

    我是一名新的 React Native 开发人员 我想使用 onPress 获取 Text 组件的值并将其传递给函数
  • 如何使输入字段和提交按钮变灰

    我想变灰这两件事 http doorsplit heroku com 歌曲输入字段和提交按钮 直到用户输入艺术家 有没有一种简单的方法可以通过 JQuery 来做到这一点 艺术家输入字段的id是 request artist 你可以这样做
  • 在 vue.js 中访问数组对象属性

    给定以下数组vue js packageMaps Object packageMap 0 Object Id 16 PackageType flag list ProductCode F BannerBase packageMap 1 Ob
  • 如何获取浏览器视口中当前显示的内容

    如何获取当前正在显示长文档的哪一部分的指示 例如 如果我的 html 包含 1 000 行 1 2 3 9991000 并且用户位于显示第 500 行的中间附近 那么我想得到 500 n501 n502 或类似的内容 显然 大多数场景都会比

随机推荐

  • Pylint、PyChecker 还是 PyFlakes? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 一段时间后 Eclipse 停止突出显示引用

    当我在 Eclipse 中打开 Java 文件进行编辑时 引用突出显示在一段时间内工作正常 但几分钟后突然停止工作 在这个例子中 parameters是最后一个正确突出显示的变量 但现在它不再工作并且不突出显示其他任何内容 它应该突出显示p
  • 如何在SDL 2.0中绘制矩形轮廓

    我试图在 SDL 2 0 中绘制一个矩形轮廓 以便用作选择框 有谁知道如何在SDL 2 0中制作一个吗 您正在寻找SDL RenderDrawRect http wiki libsdl org SDL RenderDrawRect int
  • 无法在 Mac m1 上遵循 yew 教程 - 使用未声明的类型“Vec”

    每当我跑步时trunk build or cargo run target wasm32 unknown unknown我收到一堆范围错误 我已经跑了rustup target add wasm32 unknown unknown and
  • 如何过滤具有特定半径范围内的经纬度坐标的django模型

    我有以下模型 class Location models Model name models CharField max length 128 blank True address models CharField max length 2
  • 如何获取异步任务方法name()的返回值?

    我正在尝试获取方法的返回字符串 但问题是我不知道如何获取返回值public async Task
  • 使用 python 2.7 进行 URL 编码

    gt gt gt import httplib gt gt gt x httplib HTTPConnection localhost 8080 gt gt gt x connect gt gt gt x request GET camer
  • MvvMCross 绑定到 Android 布局中的

    是否可以绑定一个对象X到 include 标签 以便包含的布局中的绑定上下文是X 我想多次使用布局 但不在列表中 MainLayout xml
  • ZonedDateTime 美国/菲尼克斯时区到 GMT 有问题[重复]

    这个问题在这里已经有答案了 我想将 美洲 菲尼克斯 转换为 GMT ZonedDateTime zdtPhoenix1 ZonedDateTime of 2022 6 27 10 0 0 0 ZoneId of America Phoeni
  • OSGI 服务 JPA PersistenceContext 未注入

    我有一个核心库 它有一个接口 我想将其公开为 Fuse ESB Apache ServiceMix 和 Karaf 中的 OSGI 服务 目标是允许其他捆绑包使用它 该服务使用 JPA OpenJPA 和 Spring 下面是界面 publ
  • 奇怪的宏(TASM)

    考虑以下宏 pixelFast MACRO This macro draws a pixel assuming the coordinates are already loaded in cx dx and the color is in
  • R:如何在一维以上使用approx(多维插值)?

    这应该不难 但我搜索了很多 到目前为止还没有找到解决方案 我正在处理一些分散的数据 y f x1 x2 x3 xn 我想创建一个查找函数 它为我提供了确切的已知值y当输入向量时x它在数据集中 但当向量时线性插值x不在数据集中 基本上喜欢ap
  • 打印fabricjs画布?

    几周来我一直在努力创建功能来打印我的 Fabricjs 画布 我已经尝试过这些方法这里提到 https stackoverflow com questions 17009946 how to print a canvas element没有
  • 如何在 C++ 程序中包含自定义文件

    如何将文件 2 包含在文件 1 中 我需要在文件 2 中进行哪些更改 file 1 include
  • Angular js 使用 $resource 下载文件并显示加载屏幕的方式

    我正在使用 Angular js 显示加载屏幕 它适用于除下载文件的 REST 服务之外的所有 REST 服务调用 我明白为什么它不起作用 因为下载时我没有使用 resource 进行任何服务调用 相反 我使用正常的方法来下载文件 因此 A
  • 如何避免调用 Application.CreateForm 两次?

    我偶然发现了这个页面为什么我不应该调用 Application CreateForm http pages cs wisc edu rkennedy createform 现在我有一些这样的代码 SplashForm TSplashForm
  • WPF:Content 和 DataContext 属性之间有什么区别?

    据我了解 DataContext property 控件使用此属性作为数据源 是每个框架元素都具有的属性 可用于将数据流入屏幕 DataContext 有范围 范围是根据 DataContext 在对象树中分配到的位置来建立的 如果您在父元
  • 如何影响部分卷页呈现的模态视图的大小?

    我需要为应用程序中的视图提供一些附加数据 并且我想使用部分页面卷曲来实现它 就像 Google 地图应用程序使用部分页面卷曲进行设置一样 我遇到的问题是所呈现的视图占据了整个屏幕 如何调整所呈现视图的大小 理想情况下 我希望它像 Googl
  • 如何渲染 OSM 瓷砖

    我想设置一个瓷砖服务器 我在网上找到了一些文档并遵循本教程 https switch2osm org serving tiles manually building a tile server 14 04 现在看来我有一个配置良好的服务器
  • JavaScript atan2() 函数未给出预期结果

    通常 极坐标从 0 到 到 2 实际上就在 2 之前 因为它又等于 0 然而 当使用 JavaScriptatan2 函数 我得到了一个不同的 奇怪的范围 Cartesian X Cartesian Y Theta 1 0 0 0 1 1