主权项 |
一种用于车辆模拟驾驶系统的后视镜仿真方法,后视镜图像采用纹理状态,通过实时动态替换纹理实现后视镜效果,具体包括以下步骤:1)、获取车辆驾驶时的场景坐标,利用车辆动力学模型获得车辆在三维坐标系x,y,z中的坐标,以及车辆运行姿态三维角度α,β,γ,设置仿真步长T;车辆的基本运动可分为直线和转弯:被控车辆能够在程序中进行任何工况下的驾驶,包括前进直行,转向驾驶以及刹车和倒车,通过建立车辆动力学模型来实现;2)、利用后视镜相对于车身的静止性,得到后视镜相机坐标,其中后视镜相机为可旋转的,便于捕捉车辆后方的场景;设置旋转矩阵,结合车辆位置的坐标和车辆运行姿态三维角度α,β,γ,对后视镜相机进行调整;3)、将场景读入帧缓存并创建后视镜纹理,结合实际后视镜形状大体为矩形,建立一个矩形初始纹理并将其绑定,绑定前需将其内存值清空,定义初始纹理是真值,并将初始纹理设置为动态,当车辆运动时,将创建的后视镜纹理实时替换;4)、将新生成的纹理进行截取与转换,将后视镜四个顶点的坐标值进行代数计算得到后视镜纹理大小;为了能让后视镜纹理正确地显示后视镜场景,并符合真实的视觉,人的视觉应该是近者大,远者小,通过设置视锥体并进行投影变换,设置投影变换矩阵,将投影变换矩阵与旋转矩阵左乘便进行了投影变换;5)、增加后视镜纹理坐标与屏幕坐标之间的转换,保证生成的纹理与实际后视镜场景相吻合,6)、将纹理坐标映射到后视镜模型上,最后渲染整个场景;为了防止出现车辆突变运动产生的后视镜图像滞留的现象,设置指针函数解决此问题;将指针指向的初始纹理,和实时替换纹理的整个过程封装为一个R函数,通过反复条用该函数实现了循环交替输出后视镜效果的目的。 |