首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >directx相机旋转误差控制?

directx相机旋转误差控制?
EN

Stack Overflow用户
提问于 2014-02-24 04:42:48
回答 1查看 516关注 0票数 0

我使用鼠标控制相机在我的程序中的旋转(使用DirectX9.0c)。鼠标X控制相机围绕向上矢量旋转,鼠标Y控制围绕正确矢量的旋转。旋转计算如下:void Camera::RotateCameraUp(float angle) { D3DXMATRIX RoMatrix; D3DXMatrixRotationAxis(&RoMatrix, &vUp, angle); D3DXVec3TransformCoord(&vLook, &vLook, &RoMatrix); D3DXVec3TransformCoord(&vRight, &vRight, &RoMatrix); } void Camera::RotateCameraRight(float angle) { D3DXMATRIX RoMatrix; D3DXMatrixRotationAxis(&RoMatrix, &vRight, angle); D3DXVec3TransformCoord(&vLook, &vLook, &RoMatrix); D3DXVec3TransformCoord(&vUp, &vUp, &RoMatrix); }假定向上或右向量的旋转不应导致围绕"LookAt“向量的旋转,但如果我将鼠标圈一段时间并在起始点停止它,就会发生围绕"LookAt”向量的旋转。我认为这是因为计算时的错误,但我不知道如何消除或控制它。有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-25 02:10:06

这是一个常见的问题。您应用了许多旋转,并且随着时间的推移,舍入错误之和。过了一段时间后,三个向量vUpvLookvRight不再是归一化和正交的。我会使用两种选择之一:

  1. 不要存储vLookvRight;相反,只需存储两个角度。假设x是对的,y是顶的,z是返回的,存储a)视图轴和xz平面之间的角度,b)视图轴在xz平面上的投影与z轴或x轴之间的角度。根据鼠标移动更新这些角度,并从它们中计算vLookvRight

  1. vRight的y-组件设置为0,因为vRight应该在xz-平面上。然后再对向量进行正交化(你知道向量应该是垂直的,长度为1)。因此,在计算新的vLookvRight之后,应用以下更正:

代码语言:javascript
运行
AI代码解释
复制
vRight.y = 0
vRight = Normalize(vRight)
vUp = Normalize(Cross(vLook, vRight))
vLook = Normalize(Cross(vRight, vUp))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21988150

复制
相关文章
相机旋转
虽然上面已经设置了相机的rotateY与lookAt,但是lookAt并没有效果?
tianyawhl
2019/08/19
2.8K0
控制误差_自动控制原理校正
第 18卷 薯4月 J.Hu中azho理ngUU工nniv杰·ofSS学cci.·&Techh VAOpIr.i18IN19o9.02
全栈程序员站长
2022/11/10
4000
Android旋转相机拍摄的照片
前两天在做一个图片选择器的需求,其中的拍照部分要求调用系统相机拍照后允许用户逆时针旋转图片。
雪之下Perqin
2021/08/26
1.3K0
精确控制模型预测误差(上)
当评估模型的质量时,能够准确测量其预测误差至关重要。然而,测量误差的技术常常会给出严重误导的结果。因为可能导致会过拟合,就是模型可以非常好地拟合训练数据,但是对于在模型训练中未使用的新数据预测结果不太好。这里是准确测量模型预测误差的方法的概述。
哒呵呵
2018/08/06
1.3K0
精确控制模型预测误差(上)
宾得开放相机SDK,可用手机控制相机
在单反相机市场中日渐式微的宾得,为了提升相机的App功能,开放了自家单反相机的SDK。
BestSDK
2018/07/30
1.4K0
精确控制数据模型误差(下)
有各种各样的方法试图衡量候选模型和真实模型之间有多少信息丢失的模型误差。当然,真正的模型(实际用于生成数据)是未知的,但是给定某些假设,我们仍然可以获得它与我们提出的模型之间的差异的估计。对于给定的问题,该差异越大,误差越高,并且测试模型越差。
哒呵呵
2018/08/06
5180
精确控制数据模型误差(下)
索尼相机BLE控制接口
索尼相机现在支持基于蓝牙低功耗 (BLE) 的控制协议。该接口允许客户端控制以及从支持 BLE 的遥控器获取状态。
云深无际
2022/09/06
8900
索尼相机BLE控制接口
【笔记】《游戏编程算法与技巧》1-6
本篇是看完《游戏编程算法与技巧》后做的笔记的上半部分. 这本书可以看作是《游戏引擎架构》的入门版, 主要介绍了游戏相关的常见算法和一些基础知识, 很多知识点都在面试中会遇到, 值得一读.
ZifengHuang
2022/08/30
4.3K0
【简单的CV】1.5 相机控制
相机技术由胶片向图像传感器的进化,极大的推动了摄像的普及。图像的载体由胶卷转变为计算机存储这也为计算器视觉的形成做了很重要的铺垫。
EdenChen
2019/11/06
1K0
【简单的CV】1.5  相机控制
Directx使用基础
使用IUnknow*指针,函数传递二级指针获取指针数据(一级指针不能输出内部开辟的内存)
sofu456
2022/05/06
5300
简易旋转倒立摆及控制系统实现方案_旋转倒立摆与pid控制
完整文档和源码:https://github.com/Kevincoooool/inverted-pendulum + 2017年成都信息工程大学 第六届“电协杯”电子设计竞赛
全栈程序员站长
2022/09/23
1.1K0
jq实现图像旋转木马:轮焦点+关于控制+自己主动旋转木马
打包下载:http://download.csdn.net/detail/u011043843/7994017
全栈程序员站长
2022/07/05
3.8K0
three.js鼠标控制物体旋转
当我们需要固定场景背景,固定摄像机的时候。移动旋转物体可以使用Three.js提供的OrbitControls.js,也可以手动写控制器。
tianyawhl
2019/06/11
15.8K0
Unity3d 入门 控制相机移动
本文将告诉大家如何在 Unity3D 中通过键盘或鼠标进行控制 Unity3D 的相机移动。在 Unity3D 中的相机相当于人的视角,通过移动相机可以用来修改咱界面看到的画面
林德熙
2021/05/17
2.7K0
DirectX in C++/CLI
昨天熟悉了一下怎么使用CLR, 今天就在里面写个3D程序试试 注意, 这个DirectX是Native DirectX, 不是Managed DirectX, 更不是什么XNA-_- 其实很简单嘛....没遇到什么困难就弄出来了 那些控件基本上你想用什么事件/属性找找MSDN就能找出来, 汗~~~真是人性化啊 至于遇到什么问题了的话, 冒似在CLR类嵌入NativeC++的类的时候要用指针 不过这是我的编程习惯......... 因为创建Device时需要一个HWND, 这个可以取Form/Control的
逍遥剑客
2018/05/21
1.3K2
倒立摆起摆控制_旋转倒立摆原理
近期在学习简易旋转倒立摆装置,倒立摆其实是一个十分经典的自动控制模型,不过开始学习了解结构和原理还是花了很多时间,在思路以及调试过程中遇到了很多困难。 我认为倒立摆有两个难点,一个是自动起摆一个是机械结构,其中自动起摆涉及到PID算法与运动方程的求解,而机械结构主要是尽量减小转动阻尼同时避免旋转时线的缠绕。我买了平衡小车家的机械结构套件,他们为了避免线缠绕使用了导线环,这是一个好东西,可以完美解决导线缠绕问题。主要想讲一下我做的整个过程以及反思总结。
全栈程序员站长
2022/09/23
1.4K0
倒立摆起摆控制_旋转倒立摆原理
OPengl、DirectX、OPenCV、OpenCL
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
sofu456
2019/10/22
2.3K0
DirectX 离线 静默 安装
http://www.microsoft.com/en-us/download/details.aspx?id=8109
Windows技术交流
2022/01/05
3.8K0
测量误差?什么误差?测量什么?
买了一台普源的DM3058,官网售价3980元,用来测量100nA误差范围内的电流,由于预算有限,供应商同时推荐了固纬GDM-8341万用表,分辨率可测到10nA。某宝售价2260元,与DM3058相比省下来1720元!
硬件大熊
2022/06/23
9230
测量误差?什么误差?测量什么?
点击加载更多

相似问题

Three.js相机旋转误差

22

DirectX相机抖动

15

相机误差

11

threeJS轨迹球控制相机旋转

12

Phonegap相机误差

23
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档