guipolyr.c

来自「UCOS_UCGUI_MDK_LPC2134的移植代码.rar」· C语言 代码 · 共 44 行

C
44
字号
/*
*********************************************************************************************************
*                                                uC/GUI
*                        Universal graphic software for embedded applications
*
*                       (c) Copyright 2002, Micrium Inc., Weston, FL
*                       (c) Copyright 2002, SEGGER Microcontroller Systeme GmbH
*
*              礐/GUI is protected by international copyright laws. Knowledge of the
*              source code may not be used to write a similar product. This file may
*              only be used in accordance with a license and should not be redistributed
*              in any way. We appreciate your understanding and fairness.
*
----------------------------------------------------------------------
File        : GUIPolyR.c
Purpose     : Polygon rotation
----------------------------------------------------------------------
*/

#include <math.h>
#include "GUI.h"



/*******************************************************************
*
*                  GUI_RotatePolygon
*
********************************************************************
*/

void GUI_RotatePolygon(GUI_POINT* pDest, const GUI_POINT* pSrc, int NumPoints, float Angle) {
  int j;
  float fcos = cos(Angle);
  float fsin = sin(Angle);
  for (j=0; j<NumPoints; j++) {
    int x = (pSrc+j)->x;
    int y = (pSrc+j)->y;
    (pDest+j)->x =  x * fcos + y * fsin;
    (pDest+j)->y = -x * fsin + y * fcos;
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?