Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何计算点在旋转形状AS3中的位置

如何计算点在旋转形状AS3中的位置
EN

Stack Overflow用户
提问于 2012-01-09 15:38:45
回答 2查看 2.5K关注 0票数 4

我正在创建一个游戏,在游戏中,我通过在板球半径周围创建点来绘制一系列多边形。

稍后我旋转形状,我需要基于旋转计算点的新位置(X,Y)。我有每个点的旧XY,形状中心的XY,形状半径和旋转。

看一下我的问题图表。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-09 15:47:42

为此,应该可以使用矩阵转换,但也可以手动完成:http://www.siggraph.org/education/materials/HyperGraph/modeling/mod_tran/2drota.htm

所以从本质上讲;

代码语言:javascript
运行
AI代码解释
复制
newX = initialX * Math.cos(angle) - initialY * Math.sin(angle);
newY = initialY * Math.cos(angle) + initialX * Math.sin(angle);
//Angle is in radians btw

这假设初始X/Y是相对于旋转中心的,因此您必须在开始之前减去中心点,然后在计算后再次添加它以正确放置它。

希望这能有所帮助!

票数 3
EN

Stack Overflow用户

发布于 2012-01-09 15:49:00

对于每个点,请执行以下操作:

代码语言:javascript
运行
AI代码解释
复制
alpha = arctan2(x, y)
len = sqrt(x^2 + y^2)
newX = len * cos(alpha + rotation)
newy = len * sin(alpha + rotation)

原始x,y和新的newX,newY坐标都是相对于旋转的中心。如果你的原始x,y是绝对的,你必须先计算相对:

代码语言:javascript
运行
AI代码解释
复制
x = xAbs - xCenter
y = yAbs - yCenter

确保您的arctan2函数提供的结果为PI/2,如果为x=0,则为-PI/2。原始的arctan函数不允许使用x=0。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8790931

复制
相关文章
挑战EXCEL!!!
感情这种东西,已经不可依赖,如今世道变成这个样子。越是有才能的人,感情就越脆弱。
用户5410712
2022/06/01
2630
挑战EXCEL!!!
棋盘挑战
Original Link 思想: DFS。 注意棋盘的每一行,每一列及其有棋子存在的对角线的平行线上有且只有一个棋子。 递归处理,每一次递视为一次对是否放置棋子的判断,递归的层数视为棋盘的层数,每一层只能放置一个棋子。 对于递归的每一层,遍历这层棋盘的格子,判断以该格子的列和对角线的平行线上是否存在过棋子: 没有棋子则直接放置,标记并递归进入下一层,以此种方法可以得到最小字典序的方案。 放置棋子后,则需要对放置的格子所在的列和对角线的平行线进行标记。 递归处理上述过程,直到将所有的棋子放置完毕,记录 r
浪漫主义狗
2023/03/08
4510
挑战赛 | 京东AI时尚挑战赛
随着中国时尚消费市场的扩大和AI技术在中国消费领域的普及,AI+Fashion正在对时尚行业产生重大影响。在AI技术促进和改善时尚相关购物体验的技术不断涌现的同时,相关技术仍然面临重重挑战。
朱晓霞
2018/07/23
6270
并发挑战(三)
并发挑战(三)
Java架构师必看
2021/05/14
2060
挑战24点
开发这个是因为,龙卡信用卡每天签到,有时候会出现挑战 24 点的任务,感觉挺有意思的,就想着自己做成一个 APP ,上下班路上可以自己耍。
莫空9081
2022/03/14
4310
【类型挑战】If,难度⭐️
Dear,大家好,我是“前端小鑫同学”,😇长期从事前端开发,安卓开发,热衷技术,在编程路上越走越远~ 知识运用: 要求限制输入为指定类型时需要考虑到使用泛型进行约束; 当需要进行类型选择判断的使用考虑使用条件类型; 题目分析: 题目地址:268-easy-if 如上图所示我们需要实现一个通用的类型工具,来实现if条件判断,当传入的第一个参数的结果为真则返回第二个参数的类型,反之返回第三个参数的类型 题目解答: 测试用例: 当输入第一个参数为真,则返回第二个参数类型‘a’; 当输入第
前端小鑫同学
2022/12/26
3670
【类型挑战】If,难度⭐️
并发挑战(二)
并发挑战(二)
Java架构师必看
2021/05/14
1730
并发挑战(一)
并发挑战(一)
Java架构师必看
2021/05/14
2880
并发挑战(一)
楼+挑战心得
注释段是最初的解决方法(然而并没有什么用),后来经过查询list列表的方法,猛然醒悟,我可以用索引呀!所以,很多我们学到的知识自己认为学会了,但是事实我们只是记住了有这个东西,更糟糕的是,当我们需要用到相关知识解决问题的时候,我们却不能很好的想起她,所以编程之道在于实践,在不断地实践中积累经验,下次遇到这样的问题就会相对顺利了。
py3study
2020/01/19
4390
EDI的五个常见挑战以及如何克服这些挑战
EDI是成功进行供应链管理的一个关键要素。它使企业能够以标准化的电子格式处理与任何交易伙伴的业务数据交换,极大简化了许多曾经繁琐的程序。然而,如果企业正在扩张或处于高速增长阶段,如何充分利用EDI仍然是非常有挑战性的。
知行软件EDI
2020/11/27
8580
狼叔:聊聊 Node.js
前阵子我在知乎上回答了《2021前端会有什么新的变化?》,单篇33.8万的阅读量,还是不错的,说明大家非常关心前端的变化趋势,这里再与大家分享一下我对 Node.js 相关内容的看法。
五月君
2021/07/15
1.3K0
Socket 面对的挑战?
在软件中最普遍和生命力最强的接口之一就是是Socket API。Socket API最早是由由加州大学伯克利分校计算机系统研究小组开发的,在1982年作为 BSD 4.1c操作系统的一部分首次发布。虽然有一些使用时间更长的 API ,例如那些处理 Unix 文件 I/O 的 API ,但是一个 API 能够保持使用并且近40年来基本上没有变化,这是及其令人印象深刻的事情了。对Socket API 的主要更新是扩展了辅助程序,以适应 IPv6的大地址空间。
半吊子全栈工匠
2021/10/14
3680
【类型挑战】Awaited,难度⭐️
Dear,大家好,我是“前端小鑫同学”,😇长期从事前端开发,安卓开发,热衷技术,在编程路上越走越远~ 知识运用: 在条件类型中进行类型推断 泛型约束 题目分析: 题目地址:189-easy-awaited 我们在使用Promise时往往可以通过泛型来约束最后返回时的对象类型,我们这道题就需要设计一个类型工具来得到Promise返回的这个类型。 题目解答: 测试用例: 约束传入的类型一定是一个Promise对象,当传入非Promise对象时将抛出错误。 当我们传入Promise对象时将返回对应T的类
前端小鑫同学
2022/12/26
4390
【类型挑战】Awaited,难度⭐️
挑战任务: 车道检测
本次挑战内容来自Udacity自动驾驶纳米学位课程,素材中车道保持不变,车道线清晰明确,易于检测,是车道检测的基础版本,网上也有很多针对复杂场景的高级实现,感兴趣的童鞋可以自行了解。
CodecWang
2021/12/07
5220
挑战任务: 车道检测
【类型挑战】Includes,难度⭐️
Dear,大家好,我是“前端小鑫同学”,😇长期从事前端开发,安卓开发,热衷技术,在编程路上越走越远~ 知识运用: 条件类型的使用与学习; 索引访问类型的使用与学习; 数组解构的应用; 递归的应用;题目分析: 题目地址:898-easy-includes 如上图所示我们需要实现一个includes函数,当我们传入的类型在所给数组中存在在返回true,反之返回false,那么我们就在类型编程实现这么一个通用的类型工具吧。题目解答: 测试用例: 本次的测试用例很多,这道看似简单的问题实际上并不简
前端小鑫同学
2022/12/26
4270
【类型挑战】Includes,难度⭐️
挑战蓝龙Kalecgos
上次画的刀因为是装备, 所以有多种颜色的纹理 而多种颜色的纹理都要去查表... 虽说DBC文件很简单, 但现在懒得看 找个单一纹理的弄吧, 纹理名全存在M2文件里的 随便看了看, 觉得这头蓝龙挺帅的,
逍遥剑客
2018/05/23
4440
ROBOMASTER TT挑战卡
,方便用户区别不同挑战卡。星球:TT 通过探测星球排列图案识别挑战卡 ID,并且获取在该挑战卡坐标系中的坐标值。小火箭:代表该
云深无际
2021/04/14
2.4K0
ROBOMASTER TT挑战卡
【类型挑战】Exclude,难度⭐️
Dear,大家好,我是“前端小鑫同学”,😇长期从事前端开发,安卓开发,热衷技术,在编程路上越走越远~ 知识运用: Exclude将从联合类型中排除特点的类型后输出剩余联合类型 条件类型运用 分布式条件类型运用题目分析: 题目地址:43-easy-exclude 如上图所示我们需要设计一个与内置Exclude功能一致的类型工具,从已知的联合类型中排除指定类型后将剩余类型返回。 题目解答: 测试用例: /* _____________ 测试用例 _____________ */ import {
前端小鑫同学
2022/12/26
5920
【类型挑战】Exclude,难度⭐️
【类型挑战】Push,难度⭐️
Dear,大家好,我是“前端小鑫同学”,😇长期从事前端开发,安卓开发,热衷技术,在编程路上越走越远~ 知识运用: 条件类型的灵活运用; 分布式条件类型的灵活运用;题目分析: 题目地址:3057-easy-push 题目解答: 测试用例: /* _____________ 测试用例 _____________ */ import { Equal, Expect, ExpectFalse, NotEqual } from '@type-challenges/utils' type cases =
前端小鑫同学
2022/12/26
6050
【类型挑战】Push,难度⭐️
【类型挑战】Unshift,难度⭐️
Dear,大家好,我是“前端小鑫同学”,😇长期从事前端开发,安卓开发,热衷技术,在编程路上越走越远~ 知识运用: 条件类型的灵活运用; 分布式条件类型的灵活运用; 解构完美解答此题; 题目分析: 题目地址:3060-easy-unshift 这道题的题面应该也不用多数,实现一个类数组unshift的功能,将我们的U传入到T的第一个位置。 题目解答: 测试用例: 测试用例和上一道题几乎是一样的,,只是向数组第一个元素的位置插入新的元素,我们这次的解法是不是可以直接复用呢?一起来看一下。 /* ____
前端小鑫同学
2022/12/26
3260
【类型挑战】Unshift,难度⭐️

相似问题

Loopback4 -如何连接MongoDB

21

loopback4中的Mixin

20

Loopback4 MySQL自动增长ID

11

Loopback4 DefaultTransactionalRepository不工作

10

loopback4 jwt认证中的问题

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档