资源简介
采用VC++6.0 MFC 实现AGV绘轨迹,
调试成功 界面简洁 绘地图方便
代码片段和文件信息
// - ANGLE.CPP -
//
// Implementation of the geometric conception “angle“.
//
// Author: Zhang Lei
// Date: 1999. 1. 12
//
#include “stdafx.h“
#include “const.h“
#include “paintobj.h“
#include “Pnt.h“
#include
double CAngle::m_fReso = pi/180; // Default resolution is 1 degree.
//////////////////////////////////////////////////////////////////////////////
// Implementation of class “CAngle“.
//
// CAngle: The constructor.
//
CAngle::CAngle(double fValue int nMode)
{
// Convert into radian if neccessary
m_fRad = (nMode == IN_RADIAN) ? fValue : ToRadian(fValue);
// Normalize the angle
m_fRad = NormAngle(m_fRad);
}
//
// Degree: Get the angle value in “degree“.
//
double CAngle::Degree()
{
return ToDegree(m_fRad);
}
//
// Quadrant: Return the angle‘s Quadrant. (1/2/3/4).
//
int CAngle::Quadrant()
{
if (m_fRad < PI/2) // Quadrant 1
return 1;
else if (m_fRad < PI) // Quadrant 2
return 2;
else if (m_fRad < 3*PI/2) // Quadrant 3
return 3;
else // Quadrant 4
return 4;
}
//
// ToRadian: Convert a degree angle into a radian value.
//
double CAngle::ToRadian(double fDeg)
{
return (PI/180) * fDeg;
}
//
// ToDegree: Convert a radian angle into a degree value.
//
double CAngle::ToDegree(double fRad)
{
return (180/PI) * fRad;
}
//
// NormAngle: Normalize an radian angle into the range [0 2*PI).
//
double CAngle::NormAngle(double fRad)
{
// Scale the angle into [0 +)
while(fRad < 0)
fRad += 2*PI;
// Scale the angle into [0 2*PI)
while (fRad >= 2*PI)
fRad -= 2*PI;
return fRad;
}
//
// SetAngleReso: Set the resolution (in radian) of angle comparison.
//
double CAngle::SetReso(double fReso)
{
// Save old resolution
double fTemp = m_fReso;
// Set new resolution
m_fReso = fReso;
// Return the old reso value
return fTemp;
}
//
// Operator “-“: Return the negation of the angle.
//
CAngle CAngle::operator -()
{
return CAngle(-m_fRad);
}
//
// Operator “!“: Return the reverse-directioned angle.
//
CAngle CAngle::operator !()
{
return CAngle(m_fRad + PI);
}
//
// Operator “+“: Return the sum of 2 angles.
//
CAngle CAngle::operator +(const CAngle& Ang)
{
return CAngle(m_fRad + Ang.m_fRad);
}
//
// Operator “-“: Return the difference of 2 angles.
//
CAngle CAngle::operator -(const CAngle& Ang)
{
return CAngle(m_fRad - Ang.m_fRad);
}
//
// Operator “+=“: Increment of angle.
//
void CAngle::operator +=(const CAngle& Ang)
{
m_fRad = NormAngle(m_fRad + Ang.m_fRad);
}
//
// Operator “-=“: Decrement of angle.
//
void CAngle::operator -=(const CAngle& Ang)
{
m_fRad = NormAngle(m_fRad - Ang.m_fRad);
}
//
// Operator “==“: Test if the 2 given angles are e
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2014-04-05 11:16 AGV程序\
目录 0 2014-04-05 11:16 AGV程序\source\
目录 0 2014-04-05 11:16 AGV程序\source\Paintobj\
文件 0 2002-07-14 16:54 AGV程序\source\Paintobj\099.bin2
文件 185 2002-07-14 16:54 AGV程序\source\Paintobj\099.txt
文件 0 2002-07-14 16:53 AGV程序\source\Paintobj\11.bin1
文件 93 2002-07-14 16:53 AGV程序\source\Paintobj\11.txt
文件 0 2002-07-14 16:51 AGV程序\source\Paintobj\123.txt
文件 56 2002-07-14 17:52 AGV程序\source\Paintobj\1qa.bin1
文件 0 2002-07-14 16:52 AGV程序\source\Paintobj\231.txt
文件 90 2002-07-14 17:52 AGV程序\source\Paintobj\23523.bin2
文件 90 2002-07-14 17:52 AGV程序\source\Paintobj\39.bin2
文件 4256 2001-05-11 09:06 AGV程序\source\Paintobj\Angle.cpp
文件 1242 2001-04-28 09:04 AGV程序\source\Paintobj\ArcPath.cpp
文件 1090 2001-04-28 09:02 AGV程序\source\Paintobj\ArcPath.h
文件 7384 2001-11-02 08:47 AGV程序\source\Paintobj\Arcattr.cpp
文件 1574 2001-11-02 08:47 AGV程序\source\Paintobj\Arcattr.h
文件 1661 2001-05-11 14:56 AGV程序\source\Paintobj\BuildingArcAttrDlg.cpp
文件 1514 2001-05-14 09:08 AGV程序\source\Paintobj\BuildingArcAttrDlg.h
文件 1311 2001-05-11 14:46 AGV程序\source\Paintobj\BuildingLazysAttrDlg.cpp
文件 1409 2001-05-15 08:17 AGV程序\source\Paintobj\BuildingLazysAttrDlg.h
文件 1382 2001-05-11 14:38 AGV程序\source\Paintobj\BuildingLineAttrDlg.cpp
文件 1426 2001-05-11 14:38 AGV程序\source\Paintobj\BuildingLineAttrDlg.h
文件 997 2000-10-13 13:50 AGV程序\source\Paintobj\ChangeAngle.cpp
文件 1232 2000-08-17 08:49 AGV程序\source\Paintobj\ChangeAngle.h
文件 1318 2000-10-13 13:50 AGV程序\source\Paintobj\Childfr
文件 1356 2000-09-19 16:25 AGV程序\source\Paintobj\Childfr
文件 2075 2001-05-15 09:58 AGV程序\source\Paintobj\ChordAttrDlg.cpp
文件 1511 2001-05-15 09:58 AGV程序\source\Paintobj\ChordAttrDlg.h
文件 1018 2000-12-25 09:05 AGV程序\source\Paintobj\ChordRadiusDlg.cpp
文件 1268 2000-12-25 09:05 AGV程序\source\Paintobj\ChordRadiusDlg.h
............此处省略487个文件信息
评论
共有 条评论