社区
机器视觉
帖子详情
三维物体绕任意轴的旋转
xiongzm
2008-06-18 05:11:28
最近碰到的问题是:对一系列的点绕任意轴旋转,求旋转后的坐标。
比如简单一点的:绕过原点的一直线旋转,要经过几次旋转变换得到,写起来比较麻烦。
有什么库函数实现这个功能吗,多谢!
OpenGL库中有这样的函数吗?我的输入是一系列点的坐标,希望输出得到变换后的坐标。
...全文
782
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;
基于Threejs/Webgl管道
三维
流动&
三维
图表展示(曲线图柱状图饼图仪表仪盘)功能 项目实战二
针对webgl的库threejs框架项目功能实战讲解管道
三维
流动:对工厂、园区的管道(输气管道、输水管道、输油管道等)液体 气体流动进行实时监控,根据流向、流速对管道进行
三维
动态模拟效果。
三维
图表展示:设备实时数据和运行状态在
三维
场景中仪表盘可视化展示,
三维
的压力表、流量计、电压电流表。曲线图柱状图饼图
三维
可视化统计,工厂产能或生产数据做图形图表统计和实时数据查看。threejs 98版本开发环境(IDE) WebStorm 2019.2 版本
三维
坐标点
绕
任意
轴
旋转
的新坐标计算
任意
轴
可以用一个起点一个方向向量来表示。那么
绕
任意
轴
旋转
就可以先将此
轴
移到通过原点,然后再
旋转
,再将
旋转
完的新坐标做反向平移。 则问题化为 计算
绕
通过原点的向量
旋转
任意
角度后的新点。假设单位向量为(rx,ry,rz),那么
旋转
矩阵如下: 写成函数如下: void Rotate_Point3D(float theta, float nx, float ny, float nz,
三维
空间的
绕
轴
旋转
变换
最近在看文献的时候看到作者有用到
三维
绕
轴
变换。我看了好久都没摸清他的矩阵是怎么得到的。待我提笔一画,妈呀,果然这脑子是废了,这么easy的问题都他么的解不出来。既然脑子废了那手还是勤劳点把。叹气。唉,,猪生艰难。。。我只想过吃完就睡睡完就吃的生活啊!为什么要这么torture我。咳,言归正传。 首先出一个清晰的问题让你知道这个博客是在讲什么? 如下,这是一个
三维
坐标(没错就是右手坐标系),然后...
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.蓝图实现 ...
Three.js 模型
绕
任意
轴
旋转
Three.js 中 Object3D 提供的成员函数只能让模型
绕
起点为(0,0,0)的
轴
旋转
,但在实际应用过程中有时会需要模型
绕
任意
轴
做
旋转
。笔者查找了很多博客没有找到比较好的解决方案,最后通过直接对模型应用4x4
旋转
矩阵实现了这个需求(也是在这个过程中发现,Three.js 中在对
三维
对象应用矩阵变换时是右乘)。 根据
任意
轴
求解
旋转
矩阵可以参考这篇文章。 function rotateObjModel (rotateMatrix, rotate_obj) { // conso
机器视觉
4,448
社区成员
15,336
社区内容
发帖
与我相关
我的任务
机器视觉
图形图像/机器视觉
复制链接
扫一扫
分享
社区描述
图形图像/机器视觉
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章