旋转后找到矩形的顶点

2023-12-25

所以我承认我真的不知道如何表达这个问题。但完整的解释应该有助于阐明一些情况。这是我所知道的。我在 HTML5 Canvas 上绘制了一个矩形。我知道所有 4 个角的点以及宽度和高度。由此我可以计算出中点。我想知道的是,如果我将矩形旋转 n 度,新的点将会是什么。例如,我想将其从中心点旋转 45 度。四个角的新顶点是什么?希望这能充分解释我正在寻找的内容。代码示例(最好是 JavaScript)会很棒。提前致谢。


这个函数可以计算出你所需要的。 “枢轴”是旋转的原点(在您的情况下是矩形的中心)。

function rotatePoint(pivot, point, angle) {
  // Rotate clockwise, angle in radians
  var x = Math.round((Math.cos(angle) * (point[0] - pivot[0])) -
                     (Math.sin(angle) * (point[1] - pivot[1])) +
                     pivot[0]),
      y = Math.round((Math.sin(angle) * (point[0] - pivot[0])) +
                     (Math.cos(angle) * (point[1] - pivot[1])) +
                     pivot[1]);
  return [x, y];
};

要将度数转换为弧度:

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

旋转后找到矩形的顶点 的相关文章

  • 计算字符串中的唯一单词

    下面我尝试将字符串数组提供给一个函数 该函数将唯一单词添加到单词数组中 并且如果该单词已经在数组中 则增加计数数组中相应元素的计数 var words var counts calculate a b calculate a c funct
  • Grunt-browserify+mapify+coffeescript = 未通过相对路径找到模块

    我尝试让 grunt browserify 使用 Coffeescript 的相对路径 但当我尝试构建源代码时总是收到错误消息 gt gt Error module src app utils includeMixin not found
  • 使用把手显示来自 parse.com 的 json 响应

    我想将 json 响应传递给车把 我已经查看了解析文档和 stackoverflow 问题 但我似乎无法弄清楚这一点 这是回应 results address 755 W Yale createdAt 2013 02 09T01 12 15
  • 使用 Jquery 附加链接

    我正在尝试根据您所在的页面添加指向我的页面的链接 我使用 Squarespace 来构建这个网站 因此对我来说最简单的方法是使用 Javascript 或 Jquery 我认为我缺少的这个语法有问题 我已经尝试用 来打破引号 但这不起作用
  • 将 FireBug 用于带有框架的网站

    我下载了 Firebug 并尝试使用它来调试使用框架的站点的 JS 我的理解是 当我进入 Firebug 中的 脚本 选项卡时 我会看到 aspx 上的 JS 函数以及包含的任何文件中的 JS 并且我将能够设置断点 然而 我在这个网站上看到
  • Excel 宏与 Javascript

    我希望使用 Javascript 中的宏而不是默认的 VBA 来操作 Excel 电子表格 我可以使用以下 VBA 代码执行 javascript 代码 javascript to execute Dim b As String b fun
  • 以编程方式在指令内添加指令

    我想将指令的另一个实例附加到父指令中 但我无法使用 apply 重新编译我的指令 我想我在某个地方错过了一些东西 我的 HTML 代码 div div div div
  • AngularJS:选择非 2 路绑定到模型

    我正在使用选择来显示客户名称 用户应该能够选择现有客户端 然后更新范围属性 控制器 初始化 首选 if scope clients length gt 0 scope existingClient scope clients 0 View
  • Chrome 开发工具:无需切换到“源”选项卡即可进入调试器

    如果我把debugger https developer mozilla org en US docs JavaScript Reference Statements debugger当 Chrome 开发工具打开时 我的 JavaScri
  • 如何解构 React props 并仍然访问其他 props?

    我很好奇如果我想要所有的 props 但也想要解构单个属性 那么组件的参数 props 是否可以像导入一样解构 我想这更像是一个 JavaScript 问题 而不是一个 React 问题 但是举个例子 import React useEff
  • 将字符串(是一个函数)转换回 Javascript 中的函数

    我在下面将此函数作为字符串 我如何将其转换回函数 我正在从 JQuery 事件中提取事件处理程序 我想将它们存储为字符串 然后将它们转换回来 因为它们将保存在 mySQL 中 function if GActiveClick return
  • 从三点求圆心的算法是什么?

    我在圆的圆周上有三个点 pt A A x A y pt B B x B y pt C C x C y 如何计算圆心 在Processing Java 中实现它 我找到了答案并实施了一个可行的解决方案 pt circleCenter pt A
  • 如何使用javascript从word文档页面中删除表格设计? Word js 插件

    我正在从表格 html 的 word 文档最后一页插入表格设计 我怎样才能删除它 这是我的代码 async function NewMap try await Word run async context gt html to word h
  • 可选回调的 JavaScript 样式

    我有一些函数偶尔 并非总是 会收到回调并运行它 检查回调是否已定义 函数是一种好的风格还是有更好的方法 Example function save callback do stuff if typeof callback undefined
  • 模拟节点外部模块默认使用 jest 的链式方法

    在我们的节点 CLI 中 我们有一个简单的方法 use strict const ora require ora module exports function startSpinner textOnStart color spinnerT
  • Socket.io 与服务器离线连接

    如何检测服务器是否离线或由于其他原因无法连接 我的代码看起来像这样 this socket io connect connectionInfo reconnect false 它不会抛出任何错误 因此 try catch 子句不起作用 Us
  • Babel/RequireJS + typeof“RangeError:超出最大调用堆栈大小”

    我有一个非常基本的 JS 错误 我很羞愧无法解决它 我正在使用 ES6 和 Babel 进行开发 并且正在做一些实验 请注意 我在 Babel 中使用了这些参数 presets es2015 plugins transform es2015
  • JsGrid 将嵌套对象加载到表中

    我正在 Django 中开发一个 Web 项目并使用 jsGrid 我遇到了问题并且找不到解决方案 我有一个嵌套的 JSON 数据 它是通过组合多个数据库表记录创建的 这是我的 JSON count 3 results personnel
  • 角度 4 单击按钮功能未触发

    我正在尝试检查文本输入是否为空或不在角度 4 中 我没有为此使用表单 这只是一个输入字段 当我在下面的按钮中执行 addLocaton 函数时 需要进行检查 我的输入字段
  • Angular 2:使用正则表达式进行数字验证

    我正在尝试验证 IE 11 中的数字字段

随机推荐

  • R Shiny - 了解更新相互依赖的输入时观察和观察事件之间的区别

    下面的应用程序有两个相互依赖的 numericInputs a and b 的价值input a is 1 input b和价值input b is 1 input a 每当用户更改输入的值时 我想相应地更新另一个输入的值 下面的代码包含两
  • 如何使这些动态类型函数类型安全? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 是否有任何编程语言 或类型系统 可以以静态类型和类型安全的方式表达以下 Python 函数 无需使用强制转换 运行时检查等 1 My
  • 在iPhone上播放第三方库解码的音频

    第三方库生成任何所需大小的 16 位带符号立体声样本的顺序缓冲区 我无法弄清楚使用哪些框架 函数来从这些缓冲区中播放 我一直在研究这个例子这个答案 https stackoverflow com questions 1710133 play
  • 重新连接后继续FTP下载

    重新连接ftp服务器后是否可以继续ftp下载 是的 在协议级别 在 RETR 之前发送服务器 REST 以查找文件中的某个位置 因此 如果文件已有 1500 字节 则执行 REST 1500 它将从第 1501 个字节开始发送 这是一个例子
  • 使用参数 {NDK_PROJECT_PATH=null 执行进程 .../ndk-bundle/ndk-build 时出错

    为什么我会收到下一个错误 附注没有任何ndk build文件夹位于ndk bundle这是什么意思 Build command failed Error while executing process home user Android S
  • Python发送UDP数据包

    我正在尝试编写一个程序来发送 UDP 数据包 如https wiki python org moin UdpCommunication https wiki python org moin UdpCommunication该代码似乎是 Py
  • 使用 boost Spirit (longest_d) 解析 int 或 double

    我正在寻找一种将字符串解析为 int 或 double 的方法 解析器应该尝试两种选择 并选择与输入流的最长部分匹配的一个 有一个已弃用的指令 longest d 正是我正在寻找的 number longest d integer real
  • RavenDB:Raven 查询未返回文档授权的正确计数

    public class EngineInfo public int Id get set public int AircraftId get set public string SerialNumber get set public in
  • VSTS 登录失败,出现 401 未授权 - [用户] 有多个与其关联的帐户

    我尝试让域中的新用户访问我们的 VSTS 我们通过 MPN 订阅 MSDN 企业版 如果用户使用其工作帐户登录 my visualstudio com 则订阅已分配且对用户可见 如果用户尝试访问 ourprojects visualstud
  • Clojure 单元测试。如何测试函数是否抛出异常?

    我看到有一种方法可以测试函数是否抛出类 C 的异常 但是有没有一种方法可以测试函数是否抛出任何异常 或者断言它不应该抛出异常 对于预计不会出现异常的测试 请按正常方式编写测试 任何抛出的异常都会导致测试失败 对于可能引发任何异常的测试 请使
  • Android 资源 ID 突然不是最终的,字段无法解析

    我正在开发一个新旧项目 我正在为不同的国家 地区市场制作它 当我从旧项目复制代码时 它显示一些错误 例如迁移 ANDROID 代码 从 ADT 14 开始 资源字段不能用作 switch case 这种情况发生在 strings xml 文
  • 如何在 Ruby 中创建 OpenGL 3.x 或 4.x 上下文?

    我到处都找过了 但没有任何 ruby 绑定可以允许创建 OpenGL 3 4 上下文 它不必是完整的 OpenGL 绑定库 只需创建 OpenGL 上下文的部分即可 更新 如果我足够绝望 我会用 ruby ffi 进行部分 glfw rub
  • 位置:固定边距:IE9/10 中自动

    我为响应式网站制作了一个粘性标题 其中标题也以margin 0 auto 它适用于 Chrome Firefox Safari IE8 但不适用于 IE9 最小标记 div class viewport div
  • 如何在微控制器上运行opencv?

    我对电子领域和控制器了解很多 但我想知道如何将opencv程序与红色交通灯结合起来 我知道答案是微控制器 但我只知道有一个编译器AVR 它可以将C编译为十六进制 然后与微控制器一起工作 但 OpenCV 我想我不会在 C 上运行 是高级别的
  • 动画选择器/状态转换

    我的 ListView 有一个简单的选择器
  • 将 Visual Studio 项目文件解析为 XML

    使用动态 xml 解析器 我尝试将 VS 项目文件作为 XElement 加载 这是项目文件的精简版本
  • 如何将数据从blob存储复制到VM?

    是否可以将 Azure Blob 存储中存在的文件复制到 Azure 虚拟机 在浏览了 Azure 数据工厂文档后 数据管理网关似乎提供 文件系统 作为数据接收器 但我无法找到任何相关文档 教程 谁能告诉我这是否可能吗 如果可以的话 可以怎
  • 将 HTML 画布裁剪为其可见像素(内容)的宽度/高度?

    可以 HTMLcanvas元素被内部裁剪以适应其内容 例如 如果我有一个 500x500 像素的画布 其中的随机位置只有一个 10x10 像素的正方形 是否有一个函数可以通过扫描可见像素和裁剪将整个画布裁剪为 10x10 Edit 这被标记
  • 如何在黑莓应用程序中显示饼图[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 如何使用 rim api 在黑莓应用程序中显示饼图 rim api 中是否有可用的控件或者如何实现 有人可以通过分享代码片段来帮助我吗 Go
  • 旋转后找到矩形的顶点

    所以我承认我真的不知道如何表达这个问题 但完整的解释应该有助于阐明一些情况 这是我所知道的 我在 HTML5 Canvas 上绘制了一个矩形 我知道所有 4 个角的点以及宽度和高度 由此我可以计算出中点 我想知道的是 如果我将矩形旋转 n