开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 843|回复: 21
收起左侧

[易语言纯源码] 【蠢新学汇编】Atan2 量角器

[复制链接]
结帖率:100% (2/2)
发表于 2024-6-17 02:02:36 | 显示全部楼层 |阅读模式   贵州省毕节市
分享源码
界面截图: -
是否带模块: 纯源码
备注说明: -
提速相对系统自带的写法快了一倍多点点 下次再更新一个参数是整数的 估计还能更快一点点
  
子程序名返回值类型公开备 注
量角器双精度小数型 SSE2 + X87
参数名类 型参考可空数组备 注
起点横双精度小数型EBP+08
起点纵双精度小数型EBP+16
角心横双精度小数型EBP+24
角心纵双精度小数型EBP+32
落点横双精度小数型EBP+40
落点纵双精度小数型EBP+48
变量名类 型静态数组备 注
角度双精度小数型 
置入代码 ({ 54, 199, 69, 252, 220, 165, 76, 64, 54, 199, 69, 248, 248, 193, 99, 26, 242, 15, 16, 69, 8, 242, 15, 92, 69, 24, 242, 15, 17, 69, 8, 242, 15, 16, 77, 16, 242, 15, 92, 77, 32, 242, 15, 17, 77, 16, 242, 15, 16, 85, 40, 242, 15, 92, 85, 24, 242, 15, 17, 85, 40, 242, 15, 16, 93, 48, 242, 15, 92, 93, 32, 242, 15, 17, 93, 48, 54, 221, 69, 8, 54, 221, 69, 16, 217, 243, 54, 220, 77, 248, 54, 221, 93, 24, 54, 221, 69, 40, 54, 221, 69, 48, 217, 243, 54, 220, 77, 248, 54, 221, 93, 32, 54, 221, 69, 32, 54, 221, 69, 24, 222, 233, 217, 225, 221, 93, 248 })
' mov dword ptr ss:[ebp-0x04], 0x404CA5DC
' mov dword ptr ss:[ebp-0x08], 0x1A63C1F8
' movsd xmm0, qword ptr ss:[ebp+0x08]
' subsd xmm0, qword ptr ss:[ebp+0x18]
' movsd qword ptr ss:[ebp+0x08], xmm0
' movsd xmm1, qword ptr ss:[ebp+0x10]
' subsd xmm1, qword ptr ss:[ebp+0x20]
' movsd qword ptr ss:[ebp+0x10], xmm1
' movsd xmm2, qword ptr ss:[ebp+0x28]
' subsd xmm2, qword ptr ss:[ebp+0x18]
' movsd qword ptr ss:[ebp+0x28], xmm2
' movsd xmm3, qword ptr ss:[ebp+0x30]
' subsd xmm3, qword ptr ss:[ebp+0x20]
' movsd qword ptr ss:[ebp+0x30], xmm3
' fld qword ptr ss:[ebp+0x08]
' fld qword ptr ss:[ebp+0x10]
' fpatan
' fmul qword ptr ss:[ebp-0x08]
' fstp qword ptr ss:[ebp+0x18]
' fld qword ptr ss:[ebp+0x28]
' fld qword ptr ss:[ebp+0x30]
' fpatan
' fmul qword ptr ss:[ebp-0x08]
' fstp qword ptr ss:[ebp+0x20]
' fld qword ptr ss:[ebp+0x20]
' fld qword ptr ss:[ebp+0x18]
' fsubp st1, st0
' fabs
' fstp qword ptr ss:[ebp-0x08]
如果真 (角度 > 180)
角度 = 360 - 角度
返回 (角度)

  
子程序名返回值类型公开备 注
量角双精度小数型 终点坐标建议时钟周期获取鼠标位置
参数名类 型参考可空数组备 注
起X整数型起点横坐标 - 建议变量暂存
起Y整数型起点纵坐标 - 建议变量暂存
中X整数型中心横坐标 - 建议变量暂存
中Y整数型中心纵坐标 - 建议变量暂存
终X整数型终点横坐标 - 建议实时更新
终Y整数型终点纵坐标 - 建议实时更新
变量名类 型静态数组备 注
横差整数型 
纵差整数型 
角一双精度小数型
角二双精度小数型
夹角双精度小数型总和
横差 = 起X - 中X
纵差 = 起Y - 中Y
角一 = 求反正切 (纵差 ÷ 横差) × 180 ÷ #pi
判断 (横差 ≥ 0)
角一 = 角一 + 180
如果真 (纵差 ≥ 0)
角一 = 角一 + 360

横差 = 终X - 中X
纵差 = 终Y - 中Y
角二 = 求反正切 (纵差 ÷ 横差) × 180 ÷ #pi
判断 (横差 ≥ 0)
角二 = 角二 + 180
如果真 (纵差 ≥ 0)
角二 = 角二 + 360

夹角 = 取绝对值 (角一 - 角二)
如果真 (夹角 > 180)
夹角 = 360 - 夹角
返回 (夹角)  ' 2022年4月8号 启用新版算法 效率并没有什么提升 只是代码量更少而已


点评

【蠢新学汇编】量角器 再次优化 https://bbs.125.la/forum.php?mod=viewthread&tid=14825442 (出处: 精易论坛)   贵州省毕节市  发表于 2024-6-23 01:50

评分

参与人数 2精币 +2 收起 理由
財財 + 1 感谢分享,很给力!~
多多帅吧 + 1 互相讨论,共同进步

查看全部评分


结帖率:100% (1/1)
发表于 2024-6-22 20:30:05 | 显示全部楼层   福建省泉州市
这个对我来说意义非凡,感谢!
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)
发表于 2024-6-21 08:30:06 | 显示全部楼层   福建省泉州市
感觉自己赚到了,这样的必须收藏!
回复 支持 反对

使用道具 举报

结帖率:73% (8/11)

签到天数: 25 天

发表于 2024-6-19 00:33:34 | 显示全部楼层   河南省焦作市
感谢楼主分享!
回复 支持 反对

使用道具 举报

签到天数: 29 天

发表于 2024-6-18 15:52:40 | 显示全部楼层   广东省揭阳市
新技能已get√
回复 支持 反对

使用道具 举报

结帖率:73% (8/11)

签到天数: 25 天

发表于 2024-6-18 09:51:17 | 显示全部楼层   河南省焦作市
感谢分享,支持开源!!!
回复 支持 反对

使用道具 举报

结帖率:100% (15/15)

签到天数: 18 天

发表于 2024-6-17 22:27:12 | 显示全部楼层   河南省新乡市
牛啊,学到新东西了

点评

现在回头看2015年写的版本 不堪入目 哭了都...   贵州省毕节市  发表于 2024-6-18 04:33
回复 支持 反对

使用道具 举报

结帖率:100% (2/2)

签到天数: 27 天

发表于 2024-6-17 19:17:17 | 显示全部楼层   重庆市重庆市
厉害了,这个真挺有用的,不过 角度 > 180 的判断和后面的不能用汇编解决吗,不太完美啊

点评

已更新   贵州省毕节市  发表于 2024-6-18 04:34
可以用汇编 懒...   贵州省毕节市  发表于 2024-6-17 19:43
回复 支持 反对

使用道具 举报

签到天数: 4 天

发表于 2024-6-17 16:05:09 | 显示全部楼层   广东省惠州市
感谢老大的无私奉献!!!
回复 支持 反对

使用道具 举报

结帖率:0% (0/2)

签到天数: 25 天

发表于 2024-6-17 14:15:59 | 显示全部楼层   广西壮族自治区玉林市
感谢分享
回复 支持 反对

使用道具 举报

结帖率:90% (18/20)

签到天数: 13 天

发表于 2024-6-17 12:23:06 | 显示全部楼层   安徽省芜湖市
感谢分享,很给力!~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表