news 2026/10/12 16:53:47

VP引导定位软件-旋转标定

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
VP引导定位软件-旋转标定

VP引导定位软件-旋转标定

一 确定通讯协议

Rotate,Angle,第几个点 Rotate,-20,1Rotate,-10,2Rotate,0,3Rotate,10,4Rotate,20,5

二 解析上位机数据

elseif(GlobalParameters.SoftModel=="Rotate"){// 如果是第一个点,则清空之前的数据if(Convert.ToInt32(msg.Split(',')[2])==1){// AlgorithmService.Instance.ClearRotateCali();}}

三 算法实现

/// <summary>/// 旋转点坐标/// </summary>publicList<Double>ImageX_Rotate_List=newList<Double>();publicList<Double>ImageY_Rotate_List=newList<Double>();
/// <summary>/// 添加旋转标定的点/// </summary>/// <param name="imageX"></param>/// <param name="imageY"></param>publicvoidAppendCirclePoint(doubleimageX,doubleimageY){ImageX_Rotate_List.Append(imageX);ImageY_Rotate_List.Append(imageY);}
/// <summary>/// 生成旋转中心标定/// </summary>publicvoidGenRotateCalibrationFile(outDoubleCenterX,outDoubleCenterY){if(ImageX_Rotate_List.Count==5){CenterX=0;CenterY=0;MessageBox.Show("生成旋转中心成功!");}else{CenterX=0;CenterY=0;}}

CircleFitter

publicclassCircleFitter{/// <summary>/// 通过三个点计算圆心坐标/// </summary>/// <param name="point1">第一个点 (x1, y1)</param>/// <param name="point2">第二个点 (x2, y2)</param>/// <param name="point3">第三个点 (x3, y3)</param>/// <returns>圆心坐标 (cx, cy)</returns>publicstatic(doublecx,doublecy)FitCircleFromThreePoints((doublex,doubley)point1,(doublex,doubley)point2,(doublex,doubley)point3){// 解法基于三点确定一个圆的几何原理// 设圆心为 (cx, cy),则有:// (x1-cx)² + (y1-cy)² = (x2-cx)² + (y2-cy)² = (x3-cx)² + (y3-cy)² = r²doublex1=point1.x,y1=point1.y;doublex2=point2.x,y2=point2.y;doublex3=point3.x,y3=point3.y;// 计算中间变量doubleA=x2-x1;doubleB=y2-y1;doubleC=x3-x1;doubleD=y3-y1;doubleE=A*(x1+x2)+B*(y1+y2);doubleF=C*(x1+x3)+D*(y1+y3);doubleG=2*(A*(y3-y1)-B*(x3-x1));// 避免除以零(三点共线的情况)if(Math.Abs(G)<1e-10){thrownewArgumentException("三点共线,无法确定唯一的圆");}// 计算圆心坐标doublecx=(D*E-B*F)/G;doublecy=(A*F-C*E)/G;return(cx,cy);}/// <summary>/// 计算圆的半径/// </summary>publicstaticdoubleCalculateRadius((doublex,doubley)center,(doublex,doubley)point){doubledx=point.x-center.x;doubledy=point.y-center.y;returnMath.Sqrt(dx*dx+dy*dy);}}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/7 1:23:03

用热爱浇筑专业:韩宁波的羽球教育初心录

韩宁波的羽球教育初心录&#xff1a;用热爱浇筑专业 一、初心萌芽&#xff1a;从赛场冠军到教育引路人 韩宁波的羽毛球生涯始于对胜利的渴望&#xff0c;却最终升华成对教育的执着。作为省级单打冠军&#xff0c;他在训练中曾遭遇技术瓶颈&#xff1a;正手杀球时速始终无法突…

作者头像 李华
网站建设 2026/10/8 16:54:08

操作自动化测试如何实现用例设计实例?

&#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快在编写用例之间&#xff0c;笔者再次强调几点编写自动化测试用例的原则&#xff1a;1、一个脚本是一个完整的场景&#xff0c;从用户登陆操作到用户退出系统关闭浏览…

作者头像 李华
网站建设 2026/10/7 1:23:01

如何编写一份优秀的测试报告?

&#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快什么是测试报告&#xff1f;1、说明&#xff1a;是指把测试的过程和结果写成文档&#xff0c;对发现的问题和缺陷进行分析&#xff0c;为纠正软件的存在的质量问题提…

作者头像 李华
网站建设 2026/10/9 14:29:25

台达AS系列PLC Modbus TCP网口上位机通信的C#监控与数据报表生成

台达AS系列PLC modbus TCP网口上位机通信&#xff0c;项目现场使用设备的C#源代码&#xff0c;监控设备每月每天的生产数据并生成Excel表格。最近在工业现场折腾台达AS系列PLC的Modbus TCP通讯&#xff0c;发现这玩意儿的协议实现和常规设备还真有点不一样。项目需求是抓取设备…

作者头像 李华
网站建设 2026/10/9 23:04:13

Nacos03:Nacos 服务端开启鉴权

文章目录一、修改配置文件二、启动Nacos一、修改配置文件 主要是为了开启鉴权&#xff0c;路径是&#xff1a;/conf/application.properties # 开启鉴权 nacos.core.auth.enabledtrue# 设置服务器令牌和服务器值 nacos.core.auth.server.identity.keynacos2026 nacos.core.auth…

作者头像 李华
网站建设 2026/10/10 22:09:47

CES2026总结报告:AI革命进入新阶段,赋能全场景终端

摘要&#xff1a;2026 年 CES 展会总结报告&#xff0c;核心聚焦 AI 革命进入新阶段并深度融合物理世界&#xff0c;全面覆盖 CES2026 的核心技术与产品动态&#xff1a;AI 芯片领域&#xff0c;英伟达、AMD、英特尔等巨头推动架构与制程迭代&#xff0c;实现推理能效提升与成本…

作者头像 李华