C++ - 图形旋转
如果果一个点(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++ - 图形旋转相关推荐
- 图形旋转的C语言源程序
图形旋转的C语言源程序 /*****************************************************************/ /* CONVOLVE.C - Turb ...
- 计算机图形学图形旋转_计算机图形学翻译
计算机图形学图形旋转 计算机图形学| 翻译 (Computer Graphics | Translations) Transformation techniques mean to modify th ...
- 计算机图形学图形旋转_计算机图形学中的平板显示
计算机图形学图形旋转 平板显示器 (Flat Panel Display) It is generally known as FPD, the flat-panel display is such a ...
- 将三角形绕点b顺时针旋转90度_模型 | 图形旋转与翻折题型汇编
一文搞定-文章推荐-点击阅读 初中数学必会的12个几何模型(222页Word) 2020年中考数学33个模型全梳理(125页Word) 2021中考18个必考几何模型大梳理(656页PPT) 中考模型 ...
- cad旋转命令_如何将CAD图形旋转至水平位置?
在我们绘制CAD家装制图的时候,有些时候需要将CAD图纸里的图形旋转到不同的位置,那怎么能够确定图形一定旋转到了水平的位置呢?本期,就来和小编一起看看旋转CAD图形到水平位置的操作步骤吧! 步骤一.我 ...
- matlab学习笔记9 高级绘图命令_2 图形的高级控制_视点控制和图形旋转_色图和颜色映像_光照和着色
一起来学matlab-matlab学习笔记9 高级绘图命令_2 图形的高级控制_视点控制和图形旋转_色图和颜色映像_光照和着色 觉得有用的话,欢迎一起讨论相互学习~ 参考书籍 <matlab 程 ...
- 计算机图形学图形旋转_计算机图形学中的旋转
计算机图形学图形旋转 计算机图形学| 回转 (Computer Graphics | Rotation) Rotation is a type of transformation that is ve ...
- android的图形旋转与点内判断
android的图形绘制是基于canvas,旋转也是对canvas进行旋转,但是因为旋转是直接旋转了canvas,所以必须在旋转前保存(save),然后再旋转后再恢复(restore),否则后续的图形 ...
- 一种简单的图形旋转算法
图形旋转好玩又有实用性, 这里介绍一种简单的图形旋转算法. 具体步骤如下: 1. 首先将原图和旋转图的坐标原点都变换到图形的中心位置处. 2. 历遍旋转图形中的每一个pixel, 将pixel的坐标( ...
- 用矩阵表示图形旋转缩放变换
二维图形 1.缩放 假设x和y都缩小到0.5倍 那新的x' = 0.5x 新的y' = 0.5y 我们现在通用化一下,假设x方向缩放为Sx,y方向缩放为Sy,并且用矩阵的方法可表示如下 -1 < ...
最新文章
- mysql从一张表更新另外一张表_MySQL 从一张表update字段到另外一张表中
- 缓存失效策略(FIFO,LRU,LFU)
- 使用Jmeter进行http接口测试
- 小程序点击调转带参数_带你走遍苏大的每个角落,校园导览小程序上线!
- git32位服务器构建_如何构建自己的Git服务器
- 【ambari】Ambari Rest api 使用
- 红外传感器型号和参数_浅析温度传感器原理
- python 基于模板生成ppt_【Python3】通过模板实现PPT的自动生成
- 怎么让模糊的数字变清楚_如何用ps将模糊图片变清晰?
- 用java编写中国象棋_如何用Java实现网络中国象棋室(一)
- [Spring]~@Valid(实体类参数校验)
- MySQL中的uuid函数是什么东西
- 2022-2027年中国化纤行业市场调研及未来发展趋势预测报告
- Invocation of init method failed; nested exception is java.lang.IllegalStateException: Ambiguous map
- 欺骗的艺术----(5)
- 最新简约虚拟资源下载站源码+织梦Dedecms内核
- H5获取手机GPS定位
- 系统分析软件测试,系统软件测试:风险分析
- 考研复试_英语面试_必备的30个问题
- 小白上楼梯(递归设计)