首页 / 专利库 / 自动扶梯,电梯和楼梯 / 悬挂装置 / 基于图像显示的虚拟车辆模型及虚拟车辆模型显示方法

基于图像显示的虚拟车辆模型及虚拟车辆模型显示方法

阅读:43发布:2024-01-23

专利汇可以提供基于图像显示的虚拟车辆模型及虚拟车辆模型显示方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于图像显示的虚拟车辆模型及虚拟车辆模型显示方法,其中虚拟车辆模型包括: 车身 模型,输出车身参数; 车轮 模型,输出车轮参数;以及悬架模型,该悬架模型由与车轮衔接的第一装置、与车身衔接的第二装置以及衔接第一装置和第二装置的第三装置组成;所述第一装置根据所述车轮模型输出的车轮参数输出第一装置参数;所述第二装置根据所述车身模型输出的车身参数输出第二装置参数;所述第三装置根据所述第一装置参数和第二装置参数输出第三装置参数。与 现有技术 相比,本发明将悬挂模型设计成三个装置,三个装置中的中的第三装置随车身及车轮的变化而变化,增强游戏中载具在不同地形上行驶时的表现能 力 ,增强用户体验及带入感。,下面是基于图像显示的虚拟车辆模型及虚拟车辆模型显示方法专利的具体信息内容。

1.一种基于图像显示的虚拟车辆模型,其特征在于,包括:
车身模型,输出车身参数;
车轮模型,输出车轮参数;
以及悬架模型,该悬架模型由与车轮衔接的第一装置、与车身衔接的第二装置以及衔接第一装置和第二装置的第三装置组成;
所述第一装置根据所述车轮模型输出的车轮参数输出第一装置参数;所述第二装置根据所述车身模型输出的车身参数输出第二装置参数;所述第三装置根据所述第一装置参数和第二装置参数输出第三装置参数。
2.根据权利要求1所述的基于图像显示的虚拟车辆模型,其特征在于:所述车身参数包括车身位置,所述第一装置参数包括与所述车身参数相对位置不变的位置参数;所述车轮参数包括位置参数以及转向参数,所述第二装置参数包括与所述车轮参数相对位置不变的位置参数;所述第三装置参数包括随第一装置位置参数和第二装置位置参数同步变化的位置参数。
3.根据权利要求2所述的基于图像显示的虚拟车辆模型,其特征在于:所述第三装置的位置参数采用矩阵MK表示:
MK=MK’*MQ*MK
式中,MK为车辆V当前的世界空间矩阵;MK为第三装置的当前帧的世界空间矩阵;MK’为第三装置初始转换到车辆模型空间的矩阵;MQ为第三装置当前帧的旋转矩阵。
4.根据权利要求3所述的基于图像显示的虚拟车辆模型,其特征在于:其中MK’/MQ的求解步骤如下:
假设车辆模型V,包括车身A、车轮B、第一装置J、第二装置L以及第三装置K,其中第一装置J链接在车轮B上,第二装置L链接在车身A上,第三装置K链接在第一装置J和第二装置L之间;车辆V/车身A/车轮B/装置JLK,在世界空间中,都会有初始的位置,用矩阵表示为:MV,MA,MB,MJ,ML MK,每个矩阵都可通过矩阵的逆运算,获得相应的逆矩阵:MV-1,MA-1,MB-1,MJ-1,ML-1,MK-1;
步骤1:
将第三装置K,通过逆矩阵MV-1,转换到车辆V模型空间中,获得矩阵MK’:
MK’=MK*MV-1
将第一装置J,通过逆矩阵MB-1,转换到车轮B的模型空间中,获得矩阵MJ’:
MJ’=MJ*MB-1
将第二装置L,通过逆矩阵MA-1,转换到车身A的模型空间中,获得矩阵ML’:
ML’=ML*MA-1
步骤2:
取第三装置K上的,最接近第二装置L的世界空间位置,作为参考点k1;取最接近第一装置J的世界空间位置,作为参考点k2;
将参考点k1,通过逆矩阵ML-1,转换到第二装置L的模型空间中,获得参考点l:
-1
l=k1*ML
将参考点k2,通过逆矩阵MJ-1,转换到第一装置J的模型空间中,获得参考点j:
j=k2*MJ-1
将参考点k1,通过逆矩阵MV-1,转换到车辆V的模型空间中,获得参考点b1:
b1=k1*MV-1
将参考点k2,通过逆矩阵MV-1,转换到车辆V的模型空间中,获得参考点b2:
b2=k2*MV-1
步骤3:
随着车辆的运行,通过物理引擎,可获得新的车身A在车辆V模型空间中的矩阵MA’,及车轮B在车辆V模型空间中的矩阵MB’,以及车辆V新的位置矩阵MV’;
将矩阵MJ’,通过矩阵MB’,转换到车辆V的模型空间中,获得第一装置J在车辆V模型空间中的矩阵MJ”:
MJ”=MJ’*MB’
将矩阵ML’,通过矩阵MA’,转换到车辆V的模型空间中,获得第一装置J在车辆V模型空间中的矩阵ML”:
ML”=ML’*MA’
将参考点l,通过矩阵ML”,转换到车辆V的模型空间中,获得参考点b1’:
b1’=l*ML”
将参考点j,通过矩阵MJ”,转换到车辆V的模型空间中,获得参考点b2’:
b2’=j*MJ”
步骤4:
通过车辆V模型空间中参考点b1,b2,获得车辆初始创建时,从车身指向车轮方向的向量v1:
v1=b1-b2
通过车辆V模型空间中参考点b1’,b2’,获得车辆运行的某一帧,从车身指向车轮方向的向量v2:
v2=b1’-b2’
通过向量v1和v2的叉积运算,获得垂直于两向量的旋转轴Axis:
通过向量v1和v2的点积运算以及向量点积公式,获得两向量之间夹的弧度值为:
Angle=arccos(|v1||v2|cosθ)
通过旋转轴Axis及旋转弧度Angle,获得旋转四元数Q:
Q=Quat(Axis,Angle)
根据旋转四元数Q得到矩阵MQ:
5.一种虚拟车辆模型显示方法,其特征在于,包括:
搜集车辆模型初始创建时各设备部件参数;
根据初始参数,计算得到车身到车轮的初始向量v1;
通过载具模拟得到车身与车轮的变化,计算出新的车身到车轮方向的向量v2;
根据向量计算,得到两向量的旋转矩阵;
使用计算得到的旋转矩阵,得到第三装置K的旋转;通过第二装置L的位置,得到第三装置K的位置;在车辆模型图像中实时显示第三装置K的位置和旋转;
计算得到的旋转矩阵MQ,就是第三装置K的世界空间旋转矩阵;通过装置L的世界空间位置,设置第三装置K的世界空间位置。
6.根据权利要求5所述的虚拟车辆模型显示方法,其特征在于,车辆模型初始创建时各设备部件参数包括:
车辆V/车身A/车轮B/第一装置J/第二装置L/第三装置K,初始创建时的世界空间矩阵MV,MA,MB,MJ,ML MK;
第三装置K与第二装置L链接处任意世界空间位置,参考点k1;
第三装置K与第一装置J链接处任意世界空间位置,参考点k2;
参考点k1,在第二装置L模型空间位置l;
参考点k2,在第一装置J模型空间位置j;
参考点k1与k2,在车辆V模型空间位置b1与b2。

说明书全文

基于图像显示的虚拟车辆模型及虚拟车辆模型显示方法

技术领域

[0001] 本发明涉及图像显示技术领域,具体是一种虚拟行驶车辆模型及车辆模型运动过程的图像显示方法。

背景技术

[0002] 随着图形渲染技术和游戏引擎技术的进步,使我们能在屏幕上绘制出越来越接近真实的世界的画面的同时,物理模拟仿真技术,也被更多的应用在虚拟世界对象之间的交互与物理互动的仿真上。游戏中通常采用物理引擎对虚拟世界中对象的物理表现进行模拟与仿真。而对真实车辆载具的模拟与仿真,在以现代及科幻为故事背景的游戏中得到了广泛的应用,并极大的丰富了游戏玩法。
[0003] 车辆的物理模拟,包括对车辆整体的的重/重心/速度/姿态的模拟,以及对车轮相对车身位置变化,车轮的旋转及转向,车轮与路面摩擦力大小的模拟。而在真实世界中的车辆,位于车轮与车身之间的是车辆的悬挂系统,链接轮胎并支持整个车身。因此对车轮相对车身的位置变化的模拟,可被描述为对车辆悬挂系统运动的模拟。同时,由于物理引擎中对每个车轮是单独进行模拟的(如Physx物理引擎,查看源码可证明此结论),单个车轮与车轮之间的相对位置不存在相互的限制与约束,仅限于车轮与车身的相对位置变化,而缺少对独立悬挂系统内部机械结构变化的视觉上的表现,与实际不符,存在画面失真。

发明内容

[0004] 本发明所要解决的技术问题在于克服现有技术的不足,而提供一种画面逼真的用于图像再现的车辆模型及车辆模型图像显示方法。
[0005] 一种基于图像显示的车辆模型,其特征在于,包括:
[0006] 车身模型,输出车身参数;
[0007] 车轮模型,输出车轮参数;
[0008] 以及悬架模型,该悬架模型由与车轮衔接的第一装置、与车身衔接的第二装置以及衔接第一装置和第二装置的第三装置组成;
[0009] 所述第一装置根据所述车轮模型输出的车轮参数输出第一装置参数;所述第二装置根据所述车身模型输出的车身参数输出第二装置参数;所述第三装置根据所述第一装置参数和第二装置参数输出第三装置参数。
[0010] 所述车轮参数包括位置参数以及转向参数,所述第一装置参数包括与所述车轮参数相对位置不变的位置参数;所述车身参数包括车身位置,所述第二装置参数包括与所述车身参数相对位置不变的位置参数;所述第三装置参数为:
[0011] MK=MK’*MQ*MA
[0012] 式中,MA为车身A当前的世界空间矩阵;MK为第三装置的当前帧的世界空间矩阵;MK’为第三装置初始转换到车辆模型空间的矩阵;MQ为第三装置当前帧的旋转矩阵;
[0013] 其中MK’/MQ的求解步骤如下:
[0014] 车辆模型V,包括车身A、车轮B、第一装置J、第二装置L以及第三装置K,其中第一装置J链接在车轮B上,第二装置L链接在车身A上,第三装置K链接在第一装置J和第二装置L之间;车辆V/车身A/车轮B/装置JLK,在世界空间中,都会有初始的位置,用矩阵表示为:MV,MA,MB,MJ,ML MK,每个矩阵都可通过矩阵的逆运算,获得相应的逆矩阵:MV-1,MA-1,MB-1,MJ-1,ML-1,MK-1;
[0015] 步骤1:
[0016] 将装置K,通过逆矩阵MV-1,转换到车辆V模型空间中,获得矩阵MK’:
[0017] MK’=MK*MV-1
[0018] 将装置J,通过逆矩阵MB-1,转换到车轮B的模型空间中,获得矩阵MJ’:
[0019] MJ’=MJ*MB-1
[0020] 将装置L,通过逆矩阵MA-1,转换到车身A的模型空间中,获得矩阵ML’:
[0021] ML’=ML*MA-1
[0022] 步骤2:
[0023] 取第三装置K上的,最接近第二装置L的世界空间位置,作为参考点k1;取最接近第一装置J的世界空间位置,作为参考点k2;
[0024] 将参考点k1,通过逆矩阵ML-1,转换到装置L的模型空间中,获得参考点l:
[0025] l=k1*ML-1
[0026] 将参考点k2,通过逆矩阵MJ-1,转换到装置J的模型空间中,获得参考点j:
[0027] j=k2*MJ-1
[0028] 将参考点k1,通过逆矩阵MV-1,转换到车辆V的模型空间中,获得参考点b1:
[0029] b1=k1*MV-1
[0030] 将参考点k2,通过逆矩阵MV-1,转换到车辆V的模型空间中,获得参考点b2:
[0031] b2=k2*MV-1
[0032] 步骤3:
[0033] 随着车辆的运行,通过物理引擎,可获得新的车身A在车辆V模型空间中的矩阵MA’,及车轮B在车辆V模型空间中的矩阵MB’;
[0034] 将矩阵MJ’,通过矩阵MB’,转换到车辆V的模型空间中,获得装置J在车辆V模型空间中的矩阵MJ”:
[0035] MJ”=MJ’*MB’
[0036] 将矩阵ML’,通过矩阵MA’,转换到车辆V的模型空间中,获得装置J在车辆V模型空间中的矩阵ML”:
[0037] ML”=ML’*MA’
[0038] 将参考点l,通过矩阵ML”,转换到车辆V的模型空间中,获得参考点b1’:
[0039] b1’=l*ML”
[0040] 将参考点j,通过矩阵MJ”,转换到车辆V的模型空间中,获得参考点b2’:
[0041] b2’=j*MJ”
[0042] 步骤4:
[0043] 通过车辆V模型空间中参考点b1,b2,获得车辆初始创建时,从车身指向车轮方向的向量v1:
[0044] v1=b1-b2
[0045] 通过车辆V模型空间中参考点b1’,b2’,获得车辆运行的某一帧,从车身指向车轮方向的向量v2:
[0046] v2=b1’-b2’
[0047] 通过向量v1和v2的叉积运算,获得垂直于两向量的旋转轴Axis:
[0048]
[0049] 通过向量v1和v2的点积运算以及向量点积公式,获得两向量之间夹的弧度值[0050] v1·v2=|v1||v2|cosθ
[0051] Angle=arccos(v1·v2)
[0052] 通过旋转轴Axis及旋转弧度Angle,获得旋转四元数Q,设这个转换操作为Quat(axis,angle)
[0053] Q=Quat(Axis,Angle)
[0054] 由于四元数与矩阵之间可以互相转换,设转换操作为QuatToMatrix(quat)[0055] arccos(v1·v2)))
[0056] 与现有技术相比,本发明对车辆模型进行了优化设计,将悬挂模型设计成三个装置,三个装置中的中的第三装置随车身及车轮的变化而变化,使游戏中车辆的悬挂模拟更加逼真,增强游戏中载具在不同地形上行驶时的表现能力,增强用户体验及带入感。附图说明
[0057] 图1是本发明图像显示方法的流程图
[0058] 图2是本发明车辆模型的原理图;
[0059] 图3是本发明车辆模型运行状态示意图;
[0060] 图4是图3的简易分析图;
[0061] 图5是本发明悬吊系统运行示意图。
[0062] 图6为4轮小车模型简图。

具体实施方式

[0063] 下面结合附图,对本发明作详细说明:
[0064] 如图6所示,本发明车辆模型为四轮小车V,包括一个车身A、4个车轮B1~B4、车身A与车轮B1~B4之间的独立悬吊系统S,包括S1~S4。
[0065] 独立悬吊系统S1~S4,分别是小车V的一个子集,包含有独立悬吊系统内的各种机械部件。
[0066] 独立悬吊系统S中包含了三种装置分别用J/K/L表示,参见图2-图5,J/K/L的功能定义如下:
[0067] 第一装置J:链接在车轮B上,不会随车轮转动而转动,相对位置始终与车轮B保持不变。
[0068] 第二装置L:链接并固定在车身A上,相对位置和角度始终与车身A保持不变。
[0069] 第三装置K:链接于装置L与装置J之间,位置和姿态随装置L和装置J相对位置改变而改变。
[0070] 在本实施例中,用S代表一个单独的独立悬吊系统,用B代表独立悬吊系统S一侧的车轮,并取车身A以及独立悬吊系统S中的装置J/L/K进行描述。
[0071] 本实施例中所提到的,模型坐标系:也称为“模型空间”或者“对象空间”,这个坐标系对应某个局部模型并且仅用于该模型。模型的顶点数据一般保存在该坐标系内。
[0072] 本实施例中所提到的,世界坐标系:也称为“世界空间”,是一种全局坐标系,它将所有的对象空间联系到一起。模型的绝对位置一般保存在该坐标系内。
[0073] 本发明中描述的矩阵是4x4的方阵。矩阵可表示3种参数,位置、旋转和缩放。世界空间矩阵m[4][4],它的m41、m42、m43、m44组成的向量v=(m41,m42,m43,m44),代表的就是物体在世界空间中的位置。m[4][4]坐上角的3x3方阵,包含物体在世界空间中的旋转与缩放参数。
[0074]
[0075] 本发明中描述的矩阵变换,通过矩阵乘法实现。
[0076] 本发明中描述的第三装置K模型,在美术制作时有特殊要求,要求第三装置K的模型坐标系原点,位于第三装置K与第二装置L相互链接的位置上。
[0077] 本发明车辆模型悬吊系统的模拟方法具体如下,包括:
[0078] 步骤1:获取车辆V,包括车身A、车轮B、第一装置J、第二装置L以及第三装置K的初始世界空间矩阵,分别用MV,MA,MB,MJ,ML MK表示,通过矩阵的逆运算可获得相应矩阵的逆矩阵:MV-1,MA-1,MB-1,MJ-1,ML-1,MK-1
[0079] 步骤2:通过车辆V世界空间矩阵的逆矩阵MV-1,将第三装置K从世界空间转换到车辆V的模型空间中,获得第三装置K在车辆V模型空间中的矩阵MK’:
[0080] MK’=MK*MV-1
[0081] 步骤3:通过车轮B世界空间逆矩阵MB-1,将第一装置J从世界空间转换到车轮B的模型空间中,获得第一装置J在车轮B模型空间中的矩阵MJ’:
[0082] MJ’=MJ*MB-1
[0083] 步骤4:通过车身A世界空间逆矩阵MA-1,将第二装置L从世界空间转换到车身A的模型空间中,获得第二装置L在车身A模型空间中的矩阵ML’:
[0084] ML’=ML*MA-1
[0085] 步骤4:在第三装置K的上分别取,最接近第二装置L的世界空间位置k1,最接近第一装置J的世界位置k2;
[0086] 步骤5:通过第二装置L的世界空间逆矩阵ML-1,将世界空间位置的参考点k1,转换到装置L的模型空间中,获得k1在装置L模型空间中的参考点位置l。
[0087] l=k1*ML-1
[0088] 步骤6:通过第一装置J的世界空间逆矩阵MJ-1,将世界空间位置的参考点k2,转换到装置J的模型空间中,获得k2在装置J模型空间中的参考点位置j。
[0089] j=k2*MJ-1
[0090] 步骤7:通过车辆V的世界空间逆矩阵MV-1,将世界空间位置的参考点k1和k2,转换到车辆V的模型空间中,获得k1和k2在车辆V模型空间中的参考点位置b1和b2。
[0091] b1=k1*MV-1
[0092] b2=k2*MV-1
[0093] 步骤8:随着车辆V的运行,通过物理引擎,可获新的一帧,车辆V的世界空间矩阵MV,车身A在车辆V模型空间中的矩阵MA’,车轮B在车辆V模型空间中的矩阵MB’。
[0094] 步骤9:将第一装置J在车轮B模型空间中的矩阵MJ’,通过矩阵MB’,将装置J从车轮B的模型空间中,转换到车辆V的模型空间中,获得装置J在车辆V模型空间中的矩阵MJ”。
[0095] MJ”=MJ’*MB’
[0096] 步骤10:将第二装置L在车身A模型空间中的矩阵ML’,通过矩阵MA’,将装置L从车身A的模型空间中,转换到车辆V的模型空间中,获得装置L在车辆V模型空间中的矩阵ML”。
[0097] ML”=ML’*MB’
[0098] 步骤11:将第一装置L模型空间内参考点位置l,通过装置L在车辆V模型空间中的矩阵ML”,转换到车辆V的模型空间中,获得车辆V模型空间中参考点b1’。
[0099] b1’=l*ML”
[0100] 步骤12:将第一装置J模型空间内参考点位置j,通过装置J在车辆V模型空间中的矩阵MJ”,转换到车辆V的模型空间中,获得车辆V模型空间中参考点b2’。
[0101] b2’=j*MJ”
[0102] 步骤13:通过车辆V模型空间中的参考点b1和b2,获得车辆初始创建时,从车身A指向车轮B方向的向量v1:
[0103] v1=b1-b2
[0104] 步骤14:通过车辆V模型空间中的参考点b1’和b2’,获得车辆V新的一帧,从车身A指向车轮B方向的向量v2:
[0105] v2=b1’-b2’
[0106] 步骤15:通过向量叉积计算公式:
[0107]
[0108] 可获得垂直于向量v1和v2,的两向量旋转轴Axis:
[0109]
[0110] 步骤16:通过向量点积计算向量夹角公式:
[0111] a·b=||a||||b||cosθ
[0112]
[0113] θ=arccos(a·b)
[0114] 可获得向量v1和v2,夹角的弧度值Angle:
[0115] Angle=arccos(v1·v2)
[0116] 步骤17:设向量v1与v2之间,旋转四元数为Q=[x,y,z,w],其中w为实部。根据四元数的基本数学方程:
[0117] Q=cos(θ/2)+i(x*sin(θ/2))+j(y*sin(θ/2))+k(z*sin((θ/2)))
[0118] 其中θ为旋转弧度,(x,y,z)为旋转轴。
[0119] 旋转四元数Q可通过旋转轴Axis和旋转弧度Angle表示为:
[0120] Q.x=Axis.x*sin(Angle/2)
[0121] Q.y=Axis.y*sin(Angle/2)
[0122] Q.z=Axis.z*sin(Angle/2)
[0123] Q.w=cos(Angle/2)
[0124] 设通过旋转轴和旋转弧度获得旋转四元数的操作为Quat(axis,angle),则:
[0125] Q=Quat(Axis,Angle)
[0126] 步骤18.四元数和矩阵之间可以互相转换,根据推倒出的式子:
[0127]
[0128] 其中R为旋转矩阵,四元数=[vx,vy,vz,w]
[0129] 设这种转换操作为QuatToMatrix(quat),设转换后的旋转矩阵为MQ,则MQ:
[0130] arccos(v1·v2)))
[0131] 步骤20.计算第一装置J,当前帧世界空间矩阵MJ
[0132] MJ=MJ’*MB’*MV
[0133] 其中MJ’为装置J在车轮B模型空间中矩阵。MB’为当前帧,车轮B在车辆V模型空间中的矩阵。MV为车辆V当前真世界空间矩阵。
[0134] 步骤21.计算第二装置L,当前帧世界空间矩阵ML:
[0135] ML=ML’*MA’*MV
[0136] 其中ML’为装置L在车身A模型空间中矩阵。MA’为当前帧,车身A在车辆V模型空间中的矩阵。MV为车辆V当前真世界空间矩阵。
[0137] 步骤22.计算第三装置K,当前帧世界空间矩阵MK:
[0138] MK=MK’*MQ*MV
[0139] 其中MK’为装置K在车辆V模型中间中矩阵。MQ为步骤18中,计算得到的装置K在车辆V模型空间中的旋转矩阵。MV为车辆V当前真世界空间矩阵。
[0140] 步骤33.将MJ/ML/MK,分别传入装置J/L/K模型绘制的顶点着色器(Vertex Shader),即可看到悬吊系统S内,装置J/L/K的变化。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈