导航软件中,方向指示的箭头怎么实现随着我们方位的改变不断的旋转哪? 用VC实现

解决方案 »

  1.   

    箭头的形成是以当前位置和目标位置的夹角来实现的。
    换句话说,你只要做一个函数Draw(CDC *pDC , CPoint CurrentPosition , CPoint TargetPosition)
    这个函数完成以下功能通过求解TargetPosition 与 CurrentPosition 这条直线,分析是否垂直或平行 , 如果是,
    应该是0 , 90 , 180 , 270?如果不是,求解斜率,通过反三角函数,求出夹角。
    然后,以CurrentPosition为起点,做一条直线,直线终点函数为:y = CurrentPosition.y+R*sin(a) ,
    x = CurrentPosition.x+R*sin(a);其中R是你向画的导航箭头长度,a为夹角