汽⻋碰撞
判断是否碰撞上 ?
汽车A的直径 > 汽车AB之间的间隔距离,则2车相撞了了。
汽车A的直径 < 汽车AB之间的间隔距离,则2车没有碰撞。
A速度 velocity B 速度 otherVelocity A 位置 position B 位置 otherPosition
directionToOtherCar = otherPosition - position
可以得到一条直线,如果汽⻋AB碰撞就会发生在这一条线上
理解为A汽⻋行驶移动的⽅向
negDirectionToOtherCar = directionToOtherCar 的相反⽅方向向量量
理解为B汽⻋行行驶的移动的方向
可以把directionToOtherCar、negDirectionToOtherCar理解为行驶方向
汽⻋碰撞
// AB碰撞之后速度下降
GLfloat A_DotProduct = GLKVector3DotProduct(ownVelocity, negDirectionToOtherCar);
//A汽⻋方向的碰撞后的速度值
GLKVector3 tanOwnVelocity = GLKVector3MultiplyScalar(negDirectionToOtherCar,A_DotProduct);
//更新A汽车碰撞后速度 ownVelocity - tanOwnVelocity
self.velocity = GLKVector3Subtract(ownVelocity, tanOwnVelocity);
Yaw,Pitch,Roll
http://blog.sina.com.cn/s/blog_8e6c5b220102wtpd.html
1.欧拉角是什么?
欧拉角是由3个角组成,这3个角分别是yaw,Pitch,Roll。很难翻译这3个词。Yaw 表示绕Y轴旋转的⻆度,Pitch表示绕X轴旋转角度,Roll表示绕Z轴旋转的角度。
Yaw 偏移
Pitch 投掷、倾斜、坠落
Roll 转动
回忆,AV Foundation 人脸识别课中就涉及到处理 YawAngle 与 RollAngle
欧拉角中的旋转
这是绕相关轴旋转,乘以相关 矩阵即可
欧拉角中的旋转
欧拉角中的3个角,可以转为 矩阵与矩阵相乘
网友评论