»õ ÆÄÀÏ |
| | |
| | | #pragma once |
| | | |
| | | |
| | | #include "akCoreLinker.h" |
| | | |
| | | #define _USE_MATH_DEFINES |
| | | |
| | | #include <math.h> |
| | | #include <windows.h> |
| | | |
| | | |
| | | namespace akCore |
| | | { |
| | | class AKCORE_DLLSPEC CakDE { |
| | | public: |
| | | CakDE(void); |
| | | ~CakDE(void); |
| | | // TODO: ì¬ê¸°ì ë©ìë를 ì¶ê°í©ëë¤. |
| | | |
| | | public: |
| | | /** |
| | | * í¨ìëª
: getMovingPostion |
| | | * íì ì ì¢íë¡ë¶í° ìëì ìê°ë§í¼ ìì§ììëì ì¢í ëì¶ |
| | | * Parameters: |
| | | * double* posX //Xì¢í(ê²°ê³¼ê° ë°í) |
| | | * double* posY //Yì¢í(ê²°ê³¼ê° ë°í) |
| | | * double* posZ //Zì¢í(ê²°ê³¼ê° ë°í) |
| | | * double heading //Heading(0~360) |
| | | * double pitch //Pitch(0~360) |
| | | * double velocity //ìë(m/s |
| | | * unsigned int Framerate //íë ì(Hz) |
| | | * Returns: |
| | | * ì ìì ì¸ ê³ì° ìë£ì True ë°í |
| | | */ |
| | | bool getMovingPostion(double* posX,double* posY,double* posZ,double heading,double pitch, double velocity, unsigned int Framerate); |
| | | bool getNextPostion(double* posX,double* posY,double* posZ,double heading,double pitch, double velocity, double Dt); |
| | | |
| | | /** |
| | | * í¨ìëª
: getRotatePostion |
| | | * íì ì¢íë¡ë¶í° Heading,Pitchë°©í¥ì¼ë¡ ì í´ì§ ê°ë§í¼ ìì§ììë ì¢í ëì¶ |
| | | * Parameters: |
| | | * double* posX //Xì¢í(ê²°ê³¼ê° ë°í) |
| | | * double* posY //Yì¢í(ê²°ê³¼ê° ë°í) |
| | | * double* posZ //Zì¢í(ê²°ê³¼ê° ë°í) |
| | | * double heading //Heading(0~360) |
| | | * double pitch //Pitch(0~360) |
| | | * double radius //거리 |
| | | * Returns: |
| | | * ì ìì ì¸ ê³ì° ìë£ì True ë°í |
| | | */ |
| | | bool getRotatePostion(double* posX, double* posY, double* posZ, double heading, double pitch, double radius); |
| | | |
| | | /** |
| | | * í¨ìëª
: getAngle3d |
| | | * ë ì¢íê° ì´ë£¨ë ê°ì íì° |
| | | * Parameters: |
| | | * double x1 // 첫ë²ì§¸ ì¢í |
| | | * double y1 // 첫ë²ì§¸ ì¢í |
| | | * double z1 // 첫ë²ì§¸ ì¢í |
| | | * double x2 // ëë²ì§¸ ì¢í |
| | | * double y2 // ëë²ì§¸ ì¢í |
| | | * double z2 // ëë²ì§¸ ì¢í |
| | | * double heading //Heading(ê²°ê³¼ê° ë°í) |
| | | * double pitch //Pitch(ê²°ê³¼ê° ë°í) |
| | | * Returns: |
| | | */ |
| | | void getAngle3d(double x1, double y1, double z1, double x2, double y2, double z2, double* heading, double* pitch); |
| | | |
| | | /** |
| | | * í¨ìëª
: AngleClosing |
| | | * ë ê°ì ê°ê²© í¬ê¸° |
| | | * Parameters: |
| | | * double center // ì¤ì¬ ê° |
| | | * double angle // íì ê° |
| | | * int option // 0ì 무조건 ê°ê¹ì´ìª½ ê° |
| | | * Returns: |
| | | * ì¤ì¬ê°ê³¼ íì ê°ì ê°ê²© ë°í |
| | | */ |
| | | double GetAngleClosing(double center, double angle, int option = 0); |
| | | |
| | | /** |
| | | * í¨ìëª
: GetAngle360 |
| | | * ê°ì 0~360ë íì° |
| | | * Parameters: |
| | | * double angle // ì
ë ¥ ê° |
| | | * Returns: |
| | | * 0~360ëë¡ íì°ë ê° |
| | | */ |
| | | inline double GetAngle360(double angle); |
| | | |
| | | /** |
| | | * í¨ìëª
: GetAngle180 |
| | | * ê°ì -180~180ë íì° |
| | | * Parameters: |
| | | * double angle // ì
ë ¥ ê° |
| | | * Returns: |
| | | * -180~180ëë¡ íì°ë ê° |
| | | */ |
| | | static inline double GetAngle180(double angle); |
| | | |
| | | |
| | | |
| | | static void getRoate2d(double angle, double orgx,double orgy, double* x, double* y); |
| | | |
| | | double distance3d(double x1, double y1, double z1, double x2, double y2, double z2); |
| | | |
| | | void rotateposition3d(double x1,double y1, double z1, double* x2, double* y2, double* z2, double h, double p); |
| | | |
| | | void axisrotate( double* nx, double* ny, double* nz, |
| | | double cx, double cy, double cz, |
| | | double tx, double ty, double tz, |
| | | double heading, double pitch, double roll ); |
| | | |
| | | bool missilesim(double msx, double msy, double msz, double msh, double msp, double msah, double msap, double tgx, double tgy, double tgz, double velocty, double acceleration, int FrameRate); |
| | | |
| | | inline static double getHeading(double x , double y); |
| | | |
| | | inline double RadianToDegree(double radian); |
| | | inline double DegreeToRadian(double degree); |
| | | inline bool GetCheckAngleRange(double p1, double stAngle, double endAngle); |
| | | private: |
| | | }; |
| | | } |