如果果一个点(x1,y1)旋转到(x2,y2),对应的角度旋转从θ1到θ1+θ2

sinθ1=y1/sqrt(x1*x1+ y1*y1)
cosθ1=x1/sqrt(x1*x1+ y1*y1)

sin(θ1+θ2)=sin(θ1)*cos(θ2)+cos(θ1)*sin(θ2)=y2/sqrt(x2*x2+y2*y2)

cos(θ1+θ2)=cos(θ1)*cos(θ2)-sin(θ1)*sin(θ2)=x2/sqrt(x2*x2+y2*y2)

由于sqrt(x1*x1+ y1*y1)  =  sqrt(x2*x2+y2*y2)

所以由上述推到出

y2=x1*sin(θ2)+y1*cos(θ2);

x2=x1*cos(θ2)-y1*sin(θ2);

/* ptBase:旋转的基点 ; pts[] 旋转的数组; nCount点数目

*/

void RotatePoints(const POINT& ptBase,POINT pts[],long nCount,double angle,BOOL isUseDegree)

{

if ( fabs(angle) < 1e-6) return;

if ( isUseDegree)//把度数换算成弧度

{

angle = angle /180 * PI;//PI = 3.1415

}

double cose = cos(angle);

double sine = sin(angle);

double dx(0.0),dy(0.0);

for(int i=0;i<nCount; ++i)

{

dx = pts[i].x - ptBase.x;

dy = pts[i].y - ptBase.y;

double x = dx * cose - dy * sine + ptBase.x;

double y = dx * sine + dy * cose + ptBase.y;

pts[i].x = x;

pts[i].y = y;

}

}

C++ - 图形旋转相关推荐

  1. 图形旋转的C语言源程序

    图形旋转的C语言源程序 /*****************************************************************/ /* CONVOLVE.C - Turb ...

  2. 计算机图形学图形旋转_计算机图形学翻译

    计算机图形学图形旋转 计算机图形学| 翻译 (Computer Graphics | Translations) Transformation techniques mean to modify th ...

  3. 计算机图形学图形旋转_计算机图形学中的平板显示

    计算机图形学图形旋转 平板显示器 (Flat Panel Display) It is generally known as FPD, the flat-panel display is such a ...

  4. 将三角形绕点b顺时针旋转90度_模型 | 图形旋转与翻折题型汇编

    一文搞定-文章推荐-点击阅读 初中数学必会的12个几何模型(222页Word) 2020年中考数学33个模型全梳理(125页Word) 2021中考18个必考几何模型大梳理(656页PPT) 中考模型 ...

  5. cad旋转命令_如何将CAD图形旋转至水平位置?

    在我们绘制CAD家装制图的时候,有些时候需要将CAD图纸里的图形旋转到不同的位置,那怎么能够确定图形一定旋转到了水平的位置呢?本期,就来和小编一起看看旋转CAD图形到水平位置的操作步骤吧! 步骤一.我 ...

  6. matlab学习笔记9 高级绘图命令_2 图形的高级控制_视点控制和图形旋转_色图和颜色映像_光照和着色

    一起来学matlab-matlab学习笔记9 高级绘图命令_2 图形的高级控制_视点控制和图形旋转_色图和颜色映像_光照和着色 觉得有用的话,欢迎一起讨论相互学习~ 参考书籍 <matlab 程 ...

  7. 计算机图形学图形旋转_计算机图形学中的旋转

    计算机图形学图形旋转 计算机图形学| 回转 (Computer Graphics | Rotation) Rotation is a type of transformation that is ve ...

  8. android的图形旋转与点内判断

    android的图形绘制是基于canvas,旋转也是对canvas进行旋转,但是因为旋转是直接旋转了canvas,所以必须在旋转前保存(save),然后再旋转后再恢复(restore),否则后续的图形 ...

  9. 一种简单的图形旋转算法

    图形旋转好玩又有实用性, 这里介绍一种简单的图形旋转算法. 具体步骤如下: 1. 首先将原图和旋转图的坐标原点都变换到图形的中心位置处. 2. 历遍旋转图形中的每一个pixel, 将pixel的坐标( ...

  10. 用矩阵表示图形旋转缩放变换

    二维图形 1.缩放 假设x和y都缩小到0.5倍 那新的x' = 0.5x 新的y' = 0.5y 我们现在通用化一下,假设x方向缩放为Sx,y方向缩放为Sy,并且用矩阵的方法可表示如下 -1 < ...

最新文章

  1. mysql从一张表更新另外一张表_MySQL 从一张表update字段到另外一张表中
  2. 缓存失效策略(FIFO,LRU,LFU)
  3. 使用Jmeter进行http接口测试
  4. 小程序点击调转带参数_带你走遍苏大的每个角落,校园导览小程序上线!
  5. git32位服务器构建_如何构建自己的Git服务器
  6. 【ambari】Ambari Rest api 使用
  7. 红外传感器型号和参数_浅析温度传感器原理
  8. python 基于模板生成ppt_【Python3】通过模板实现PPT的自动生成
  9. 怎么让模糊的数字变清楚_如何用ps将模糊图片变清晰?
  10. 用java编写中国象棋_如何用Java实现网络中国象棋室(一)
  11. [Spring]~@Valid(实体类参数校验)
  12. MySQL中的uuid函数是什么东西
  13. 2022-2027年中国化纤行业市场调研及未来发展趋势预测报告
  14. Invocation of init method failed; nested exception is java.lang.IllegalStateException: Ambiguous map
  15. 欺骗的艺术----(5)
  16. 最新简约虚拟资源下载站源码+织梦Dedecms内核
  17. H5获取手机GPS定位
  18. 系统分析软件测试,系统软件测试:风险分析
  19. 考研复试_英语面试_必备的30个问题
  20. 小白上楼梯(递归设计)

热门文章

  1. Checkra1n越狱更新0.12.4版本,支持iOS14.7.1越狱
  2. 对计算机辅助英语的看法,浅谈利用计算机辅助英语语言测试
  3. Java自定义注解-请求限流/防刷
  4. Markdown 表情包大全
  5. 宝马与F团合作能否再造营销奇迹?
  6. TextView添加下划线
  7. 惊了!苹果高通在中国纠缠时 iPhone7/8却在德国惨遭下架
  8. 完整技术帖,看美剧学英语之法
  9. 解决windows10和ubuntu16.04双系统切换时Windows时间不对的问题
  10. 【课程设计】8086汇编实现打字小游戏