資源簡介
采用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???????return?1;
else?if?(m_fRad???????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個文件信息
評論
共有 條評論