车轮轨迹原理_在简单地形上小车运动轨迹的数学表达(一)

在简单地形上小车运动轨迹的数学表达(一)

图形学课上的小小总结

前提:

假设地形函数为f(x)为f(x)=sin(x)[*]。

小车由四个轮子组成。

实现基于OpenGL。

[*] 实际效果图的f(x) = 0.5 * sin(x)

问题一:如何画一个轮子?

具体的问题描述应该是"如何在已知坐标x的情况下画出一个轮子?"

该轮子拥有的唯一特点是:与其所依附的地形应该是相切的。

下面是当"x0 = π/4"地形函数(图-1):

假设在地形上的一点(x0,y0),由它所唯一对应的轮子圆心为(x1,y1)。

不失一般性,(x1,y1)的计算过程如下:

这里有几个需要注意的地方:

k0为0的情况,即在x=x0处地形斜率与x轴相切的情况下:

x1 = x0

y1 = y0 + R

关于x1的±:

if k0 > 0

x1 = x0 + R * cosβ

else

x1 = x0 - R * cosβ

综合以上可得最终实现如下:

void get_wheel_center(float _x0, float _y0, float _r, float &_x1, float &_y1){

floa

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值