社区
机器视觉
帖子详情
三维物体绕任意轴的旋转
xiongzm
2008-06-18 05:11:28
最近碰到的问题是:对一系列的点绕任意轴旋转,求旋转后的坐标。
比如简单一点的:绕过原点的一直线旋转,要经过几次旋转变换得到,写起来比较麻烦。
有什么库函数实现这个功能吗,多谢!
OpenGL库中有这样的函数吗?我的输入是一系列点的坐标,希望输出得到变换后的坐标。
...全文
844
3
打赏
收藏
三维物体绕任意轴的旋转
最近碰到的问题是:对一系列的点绕任意轴旋转,求旋转后的坐标。 比如简单一点的:绕过原点的一直线旋转,要经过几次旋转变换得到,写起来比较麻烦。 有什么库函数实现这个功能吗,多谢! OpenGL库中有这样的函数吗?我的输入是一系列点的坐标,希望输出得到变换后的坐标。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
youxia000
2008-07-14
打赏
举报
回复
不好意思 我没用opengl
最近学习了下 你可以 看看 glRotate()
youxia000
2008-06-24
打赏
举报
回复
做过这个,没有法线现成的东西
自己写的矩阵变换,
一般要分三步,
先把要旋转的轴转到 与Z轴重合M1, 对Z轴做旋转Mz, 把旋转轴从Z轴转回来 M1(-1)
carfieldlee
2008-06-20
打赏
举报
回复
这几天也在整这个
绕任意轴n旋转角度θ的变换矩阵
cosTheta = cos(θ);
sinTheta = sin(θ);
nx,ny,nz为 轴n的向量标准化后三个分量
Matri4D matrix(1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1); //初始化
matrix[0][0] = nx * nx * ( 1 - cosTheta ) + cosTheta;
matrix[0][1] = nx * ny * ( 1 - cosTheta ) + nz * sinTheta;
matrix[0][2] = nx * nz * ( 1 - cosTheta ) - ny * sinTheta;
matrix[1][0] = nx * ny * ( 1 - cosTheta ) - nz * sinTheta;
matrix[1][1] = ny * ny * ( 1 - cosTheta ) + cosTheta;
matrix[1][2] = ny * nz * ( 1 - cosTheta ) + nx * sinTheta;
matrix[2][0] = nx * nz * ( 1 - cosTheta ) + ny * sinTheta;
matrix[2][1] = ny * nz * ( 1 - cosTheta ) - nx * sinTheta;
matrix[2][2] = nz * nz * ( 1 - cosTheta ) + cosTheta;
三维
绕
任意
轴
旋转
矩阵
绕
z
轴
旋转
由于
绕
z
轴
旋转
,相当于在xy
旋转
,和之前二维
旋转
是差不多的
绕
X
轴
旋转
x
轴
不变
绕
y
轴
旋转
注意在左手坐标系中,从
轴
的正方向往负方向看,顺时针为正方向,逆时针为负方向。 右手坐标系,
旋转
的正方向是逆时针的,负方向为顺时针.
绕
任意
N
轴
旋转
vR(n,θ) = v’ 由图可知 v’ =vll+ vT只要计算出vT,就可以求出v’ ...
三维
坐标点
绕
任意
轴
旋转
的新坐标计算
任意
轴
可以用一个起点一个方向向量来表示。那么
绕
任意
轴
旋转
就可以先将此
轴
移到通过原点,然后再
旋转
,再将
旋转
完的新坐标做反向平移。 则问题化为 计算
绕
通过原点的向量
旋转
任意
角度后的新点。假设单位向量为(rx,ry,rz),那么
旋转
矩阵如下: 写成函数如下: void Rotate_Point3D(float theta, float nx, float ny, float nz,
UE4实现
物体
绕
任意
轴
旋转
1.功能描述:已知向量a(要
旋转
的
物体
的前方向量),
旋转
轴
单位向量^n,
旋转
角度θ。使a向量
绕
^n
旋转
到a'。在Tick中,使θ递增,达到a
旋转
的效果。 如上图,以^n为一条
轴
建立
三维
坐标系(n,b,c),可知n+b=a,n+c=a'。 叉乘和点乘:点乘的符号用“ · ”表示,叉乘的符号用“ × ”表示。 公式:a' = (a · ^n) * ^n + (a × ^n) * sinθ + (a - (a · ^n) * ^n) * cosθ (事先推导过) 2.蓝图实现 ...
三维
空间的
绕
轴
旋转
变换
最近在看文献的时候看到作者有用到
三维
绕
轴
变换。我看了好久都没摸清他的矩阵是怎么得到的。待我提笔一画,妈呀,果然这脑子是废了,这么easy的问题都他么的解不出来。既然脑子废了那手还是勤劳点把。叹气。唉,,猪生艰难。。。我只想过吃完就睡睡完就吃的生活啊!为什么要这么torture我。咳,言归正传。 首先出一个清晰的问题让你知道这个博客是在讲什么? 如下,这是一个
三维
坐标(没错就是右手坐标系),然后...
数学应用 ——
三维
模型
绕
坐标
轴
旋转
应用场景 现有
三维
模型Model(vtx),坐标系中
任意
朝向。需要将该模型进行
绕
轴
旋转
,使得该模型能够基本摆正。 理论介绍 相关
旋转
的数学理论,可以参考下面链接:[https://www.cnblogs.com/zhoug2020/p/7842808.html].(https://www.cnblogs.com/zhoug2020/p/7842808.html) 示例代码 函数void get_M()是生成相应的
旋转
矩阵 void get_M(float degree, cv::Point3f
机器视觉
4,504
社区成员
15,375
社区内容
发帖
与我相关
我的任务
机器视觉
图形图像/机器视觉
复制链接
扫一扫
分享
社区描述
图形图像/机器视觉
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章