产品中心
PRODUCTS CNTERNAV340-3232西克SICK室内360度水平激光扫描仪我公司是SICK一级代理,SICK激光扫描仪大量库存,原装德国进口,假一罚十
相关文章
NAV340-3232西克SICK室内360度水平激光扫描仪
NAV340-3232西克SICK室内360度水平激光扫描仪
3.3实现函数
//////////////////////////////////////////////
//将接收到的十六进制数据转换为十进制
void CSerialTestDlg::HexToDec(CString str){}
//////////////////////////////////////////////
//完成对应采样角频率的处理
if(m_angleComb.GetCurSel()==0){} 0.50
if(m_angleComb.GetCurSel()==1){} 10
//////////////////////////////////////////////
//截取需要的字符串长度
StrData.GetLength()==2244
//////////////////////////////////////////////
//高位,低位换位
for(k=0;k<=2160;k+=6){}
//////////////////////////////////////////////
//十六进制转为十进制
do
{}
while(j<len2);
4.坐标标定
根据采样角频率的不同,一个周期的距离数据分别有181个(10 )和361个(0.50 )数据。如下图所示:d为我们得到的数据,a为对应的角度,对应到笛卡尔坐标中:
x=d*cosa (1)
y=d*sina (2)
4.1坐标系的绘制
实现函数
void CSerialTestDlg::DrawPoint(int dis[]){}
为了方便重复绘制和清除旧图,程序中的坐标系为加载的位图在void CSerialTestDlg::OnPaint()中加载。资源中位图文件为IDB_BITMAP1。加载后的如下图:
4.2数据标定
首先初始化double angle[361]和double angle1[181]这两个数据,分别存储0.50 和10 两种采样角频率的361个(00~3600)和181(00~1800)个角度。
根据转换到笛卡尔坐标的转换式,算出坐标中的x,y值:
x=dis*cos(angle1*PI/180);
y=dis*sin(angle1*PI/180);
由于计算机中对屏幕坐标的定义如左图所示:y轴是下正上负。为了按正常视觉效果来显示,需要对y坐标值取负。
CPoint m_ptEnd;
公司邮箱: m13636477536@163.com
服务热线: 13636477536
公司地址: 武汉市武昌区兆福国际大厦503