一个点绕另一个点旋转之后的坐标计算

在这里插入图片描述
p点绕原点旋转角度Q,求p1坐标;
采用极坐标的方法求解
对于p点:
x = r * cos(a);
y = r * sin(a);
对于p1点:
x1 = r * cos(a+Q)= r * [cosacosQ - sinasinQ] = xcosQ - ysinQ;
y1 = r * sin(a+Q) = r * [sinacosQ + sinQcosa] = ycosQ + xsinQ;

在这里插入图片描述
x1 = r * cos(a+Q)= r * [cosacosQ - sinasinQ] = xcosQ - ysinQ + x2;
y1 = r * sin(a+Q) = r * [sinacosQ + sinQcosa] = ycosQ + xsinQ + y2;

// 返回点p以点o为圆心逆时针旋转alpha(单位:弧度)后所在的位置 
POINT rotate(POINT o,double alpha,POINT p) 
{ 
	POINT tp; 
	p.x-=o.x; 
	p.y-=o.y; 
	tp.x=p.x*cos(alpha)-p.y*sin(alpha)+o.x; 
	tp.y=p.y*cos(alpha)+p.x*sin(alpha)+o.y; 
	return tp; 
} 
  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
内存画板,在内存中创建一个画板并画图。 2.0到2.5版本: ◆内存画板增加了画板添加路径,路径或区域转换为剪裁区,剪裁区的基本操作,结合剪裁区的应用可以画出更多图形。     如果画弦、饼、圆弧、弧线之后,可以获取弧线的两个端点的坐标。     增加“画圆弧路径文字()”,可以画出按照圆弧排列的文字 ◆新增类“图片对象”和“ICO图标类” ◆增加子程序:_计算直线角度()、_计算直线的终点()、_计算两点间的距离()、_计算两条直线的交点()。     _计算直线的终点() 需要提供{起点,长度,角度},计算出终点,可以当做计算圆上某一点{圆心,半径,角度} 2.5到3.0版本: ◆新增类“动态矢量画板”,画出的图形可以随着鼠标滚轮滚动放大缩小     画出的形状支持半透明颜色(画笔颜色、刷子颜色、文本颜色为ARGB颜色)     增加更多的命令,可设置Y轴正方向是向上还是向下。 ◆新增类“图片窗口类”,可在“图片窗口示例.e”预览效果。 ◆新增子程序:_计算点到线段的最短距离()、_计算点到直线的垂点距离()、_计算椭圆上的一点()、置窗口透明度_()。 附送一个(源码分享)用内存画板为主体创建的表格类。 3.0到3.5版本:修复部分bug。 ◆内存画板和动态矢量画板增加了  旋转指定角度画图()、旋转角度复位()和画闭合曲线() ◆类“图片对象”增加了  取出图片数据()、旋转()、设置某颜色透明()等更多命令; ◆新增子程序:计算贝塞尔曲线控制点()、计算贝塞尔曲线控制点_X()、_计算对称点()、_计算某点一个坐标旋转()     只需要提供贝塞尔曲线的顶点,可计算出曲线的控制点,直接用计算结果的数组画贝塞尔曲线即可 3.5到4.0版本: ◆内存画板新增  写出W()、写文本行W()、定位写出W()等Unicode文本处理命令(感谢网友“xxdahai”提供Unicode文本处理的源码)     画图片_变换()、取文字间距()、设置文字间距()、画笔类型_2()、刷子类型_图案()等命令 ◆类“图片对象”增加了   设置某颜色透明_2()、添加图片对象()、取位图句柄() ◆新增子程序:计算图片旋转后的尺寸()、_计算三角形的重心()、_计算坐标组缩放()、_计算坐标组缩放_X() 4.0到5.0版本: ◆内存画板新增  画繁花曲线()、画玫瑰曲线()、画蝴蝶曲线()     画图片_切图效果()包含55个效果(感谢网友“琪诺兔”提供的图片转场效果的源码) ◆新增类“图片编辑类”,结合命令“内存画板.画图片_裁剪”或“图片对象.编辑图片”使用     类“图片对象”增加了  编辑图片()、取图片透明区域()、设置区域内透明()等更多编辑命令 ◆新增子程序:_计算点与圆的切点()、_计算三角形外接圆的圆心半径()、_计算直线与圆的交点()
内存画板,在内存中创建一个画板并画图。 2.0到2.5版本: ◆内存画板增加了画板添加路径,路径或区域转换为剪裁区,剪裁区的基本操作,结合剪裁区的应用可以画出更多图形。     如果画弦、饼、圆弧、弧线之后,可以获取弧线的两个端点的坐标。     增加“画圆弧路径文字()”,可以画出按照圆弧排列的文字 ◆新增类“图片对象”和“ICO图标类” ◆增加子程序:_计算直线角度()、_计算直线的终点()、_计算两点间的距离()、_计算两条直线的交点()。     _计算直线的终点() 需要提供{起点,长度,角度},计算出终点,可以当做计算圆上某一点{圆心,半径,角度} 2.5到3.0版本: ◆新增类“动态矢量画板”,画出的图形可以随着鼠标滚轮滚动放大缩小     画出的形状支持半透明颜色(画笔颜色、刷子颜色、文本颜色为ARGB颜色)     增加更多的命令,可设置Y轴正方向是向上还是向下。 ◆新增类“图片窗口类”,可在“图片窗口示例.e”预览效果。 ◆新增子程序:_计算点到线段的最短距离()、_计算点到直线的垂点距离()、_计算椭圆上的一点()、置窗口透明度_()。 附送一个(源码分享)用内存画板为主体创建的表格类。 3.0到3.5版本:修复部分bug。 ◆内存画板和动态矢量画板增加了  旋转指定角度画图()、旋转角度复位()和画闭合曲线() ◆类“图片对象”增加了  取出图片数据()、旋转()、设置某颜色透明()等更多命令; ◆新增子程序:计算贝塞尔曲线控制点()、计算贝塞尔曲线控制点_X()、_计算对称点()、_计算某点一个坐标旋转()     只需要提供贝塞尔曲线的顶点,可计算出曲线的控制点,直接用计算结果的数组画贝塞尔曲线即可 3.5到4.0版本: ◆内存画板新增  写出W()、写文本行W()、定位写出W()等Unicode文本处理命令(感谢网友“xxdahai”提供Unicode文本处理的源码)     画图片_变换()、取文字间距()、设置文字间距()、画笔类型_2()、刷子类型_图案()等命令 ◆类“图片对象”增加了   设置某颜色透明_2()、添加图片对象()、取位图句柄() ◆新增子程序:计算图片旋转后的尺寸()、_计算三角形的重心()、_计算坐标组缩放()、_计算坐标组缩放_X() 4.0到5.0版本: ◆内存画板新增  画繁花曲线()、画玫瑰曲线()、画蝴蝶曲线()     画图片_切图效果()包含55个效果(感谢网友“琪诺兔”提供的图片转场效果的源码) ◆新增类“图片编辑类”,结合命令“内存画板.画图片_裁剪”或“图片对象.编辑图片”使用     类“图片对象”增加了  编辑图片()、取图片透明区域()、设置区域内透明()等更多编辑命令 ◆新增子程序:_计算点与圆的切点()、_计算三角形外接圆的圆心半径()、_计算直线与圆的交点() 5.0到6.0版本: ◆内存画板新增  图片优化模式()、合并分层画板()、空间坐标变换() ◆新增类“分层画板”,透明画板,更加丰富的画笔画刷设置     类“图片对象”增加了  转换分层画板()
内存画板,在内存中创建一个画板并画图。 2.0到2.5版本: ◆内存画板增加了画板添加路径,路径或区域转换为剪裁区,剪裁区的基本操作,结合剪裁区的应用可以画出更多图形。     如果画弦、饼、圆弧、弧线之后,可以获取弧线的两个端点的坐标。     增加“画圆弧路径文字()”,可以画出按照圆弧排列的文字 ◆新增类“图片对象”和“ICO图标类” ◆增加子程序:_计算直线角度()、_计算直线的终点()、_计算两点间的距离()、_计算两条直线的交点()。     _计算直线的终点() 需要提供{起点,长度,角度},计算出终点,可以当做计算圆上某一点{圆心,半径,角度} 2.5到3.0版本: ◆新增类“动态矢量画板”,画出的图形可以随着鼠标滚轮滚动放大缩小     画出的形状支持半透明颜色(画笔颜色、刷子颜色、文本颜色为ARGB颜色)     增加更多的命令,可设置Y轴正方向是向上还是向下。 ◆新增类“图片窗口类”,可在“图片窗口示例.e”预览效果。 ◆新增子程序:_计算点到线段的最短距离()、_计算点到直线的垂点距离()、_计算椭圆上的一点()、置窗口透明度_()。 附送一个(源码分享)用内存画板为主体创建的表格类。 3.0到3.5版本:修复部分bug。 ◆内存画板和动态矢量画板增加了  旋转指定角度画图()、旋转角度复位()和画闭合曲线() ◆类“图片对象”增加了  取出图片数据()、旋转()、设置某颜色透明()等更多命令; ◆新增子程序:计算贝塞尔曲线控制点()、计算贝塞尔曲线控制点_X()、_计算对称点()、_计算某点一个坐标旋转()     只需要提供贝塞尔曲线的顶点,可计算出曲线的控制点,直接用计算结果的数组画贝塞尔曲线即可 3.5到4.0版本: ◆内存画板新增  写出W()、写文本行W()、定位写出W()等Unicode文本处理命令(感谢网友“xxdahai”提供Unicode文本处理的源码)     画图片_倾斜变换()、取文字间距()、设置文字间距()、画笔类型_2()、刷子类型_图案()等命令 ◆类“图片对象”增加了   设置某颜色透明_2()、添加图片对象()、取位图句柄() ◆新增子程序:计算图片旋转后的尺寸()、_计算三角形的重心()、_计算坐标组缩放()、_计算坐标组缩放_X() 4.0到5.0版本: ◆内存画板新增  画繁花曲线()、画玫瑰曲线()、画蝴蝶曲线()     画图片_切图效果()包含55个效果(感谢网友“琪诺兔”提供的图片转场效果的源码) ◆新增类“图片编辑类”,结合命令“内存画板.画图片_裁剪”或“图片对象.编辑图片”使用     类“图片对象”增加了  编辑图片()、取图片透明区域()、设置区域内透明()等更多编辑命令 ◆新增子程序:_计算点与圆的切点()、_计算三角形外接圆的圆心半径()、_计算直线与圆的交点() 5.0到6.0版本: ◆内存画板新增  图片优化模式()、合并分层画板()、空间坐标变换() ◆新增类“分层画板”,透明画板,更加丰富的画笔画刷设置     类“图片对象”增加了  转换分层画板() 6.0到7.0版本:修复部分bug ◆分层画板增加了  取当前路径()、路径_添加路径()、路径曲线转为线段()、路径_均分路径()、路径_混合路径()等一些路径操作命令     内存画板和分层画板增加了  画图片_扭曲变形() ◆类“图片对象”增加了  创建自位图句柄();类“动态矢量画板”增加了  图形是否显示()、取图形类型()、取图形顶点坐标()     命令“取图形顶点坐标()”提示:如果取圆弧的顶点只取回3个坐标,可以用“_计算三角形外接圆的圆心半径()”命令还原 ◆新增子程序:计算XFORM_指定点旋转()、计算XFORM_指定点缩放()、计算XFORM_指定点倾斜()、取坐标数组范围()、变换坐标组() 2.png (260.85 KB, 下载次数: 0) 3.png (412.58 KB, 下载次数: 0) 4.png (231.94 KB, 下载次数: 0)
一个点另外一个点旋转时,我们可以称旋转的点为“A”,被旋转的点为“B”。点A是旋转的中心,点B则点A进行旋转旋转通常涉及到旋转角度旋转方向和旋转方式。关于旋转的一些概念和术语如下: 1. 旋转角度旋转角度是指点B在旋转过程中所经过的角度大小。旋转角度可以用度数或弧度表示。如果旋转角度是正数,则表示顺时针旋转;如果旋转角度是负数,则表示逆时针旋转。 2. 旋转方向:旋转方向是指点B点A旋转的方向,可以是顺时针旋转或逆时针旋转。 3. 旋转方式:旋转方式是指点B点A旋转的方式,可以是围点A做圆周运动,也可以是沿着点A到点B的向量方向旋转。 在旋转过程中,点B会着点A移动,并保持两者之间的距离不变。点B的位置会随着旋转角度的变化而改变,最终形成一个新的位置。 如果我们知道了旋转角度旋转方向和旋转方式,就可以确定点B在旋转过程中的位置。我们可以通过数学计算或几何图形来推导出旋转后点B的坐标。 对于点A旋转的点B,旋转后的坐标可以通过下列公式计算得出: x' = (x - a) * cos(angle) - (y - b) * sin(angle) + a y' = (x - a) * sin(angle) + (y - b) * cos(angle) + b 其中,(x, y)是点B的原始坐标,(x', y')是点B旋转后的坐标,(a, b)是点A的坐标,angle是旋转角度。 总的来说,当一个点另外一个点旋转时,我们需要知道旋转角度、方向和方式,并利用相应的公式来计算旋转后的坐标。这样,我们就可以描述和理解旋转过程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

<( ̄︶ ̄)Okay.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值