#pragma once #define PD_PI 3.14159265358979323846 #define PD_R2D 180/PD_PI //弧度转换为角度 #define PD_D2R PD_PI/180 //角度转换为弧度 #define COC 0.0265234 typedef const float CFloat; // IPNDlg 对话框 class IPNDlg : public CDialogEx { DECLARE_DYNAMIC(IPNDlg) public: IPNDlg(CWnd* pParent = nullptr); // 标准构造函数 virtual ~IPNDlg(); // 对话框数据 #ifdef AFX_DESIGN_TIME enum { IDD = IDD_DLG_IPN }; #endif protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 virtual BOOL OnInitDialog(); DECLARE_MESSAGE_MAP() public: float m_PicW; float m_PicH; float m_ReqPAD; float m_MaxRotaAng; float m_NowRotaAng; float m_MaxPAD; CString m_ShootDist; CString m_DoubLen; float m_FocalLen; float m_Pixel; float m_Distance; CString m_Range; float m_MinP; float m_Rads; afx_msg void OnBnClickedOkLowLeft(); afx_msg void OnBnClickedOkTopRight(); afx_msg void OnBnClickedOkLowRight(); float CalShootRange(CFloat & length, CFloat & focalLen, CFloat & distance); float CalDistance(CFloat & length, CFloat & focalLen, CFloat & shootLen); float CalRotaAngle(CFloat & Rads, CFloat & ShootDist, CFloat & PicAverlapDeg); float CalEffectivePAD(CFloat & Rads, CFloat & ShootDist, CFloat & RotaAngle); };