我想做一些有点不同的事情,其中我设置起点(射d在屏幕上开始位置)和终点(目标位置).根据用户输入,抛物线的高度会有什么变化.所以在这个意义上,我并没有使用抛物线路径来预测目标将落在哪里,而是射d撞击目标的角度(再次,抛物线始终终止于目标).
我没有在网上看到任何符合我需求的东西.大多数可用的代码更多地与向用户展示射d落地的地方有关.我想确定角度(矢量)和应用于身体以匹配不同抛物线振幅的脉冲,但总是在同一位置结束.一张图片胜过千言万语,所以我已经链接到一张自制图片试图帮助解释(所以不要让我嵌入图像).
Example image
任何帮助,将不胜感激.
解决方法 让我们在数学模型中表示这一点…抛物线方向的角度是输入变量,抛物线在0和目标点穿过x轴,高度将被计算.抛物线看起来如此:y = x *(a-x)* b,其中a定义到目标点的距离,b是(a)影响起始角度和高度的某个值.
我们可以通过起点中心的atan(x / y)计算角度.我们知道切线代表抛物线的衍生物.导数是y’= a * b – 2 * x * b,并且在原点中心y = 0且x = 0,并且我们得到[原点中心的导数] = a * b. a被预定义为距目标点的距离,因此角度受变化b:angle = atan(a * b)的影响.
此时我们有抛物线方程y = x *(a-x)* b,预定义a = [到目标点的距离] * 4和角度方程角= atan(a * b),其中b是输入值.例如:
>到点的距离是10 – >一个= 40
>用户输入45 * – > tan(45 *)= 1,b = tan(45 *)/ a – > B =四十〇分之一
>将这些值放入等式y = x *(a-x)* b:y = x *(40-x)/ 40并检查……
至于最大高度,它是从等式a * x ^ 2 b * x c = 0计算的,条件是х= -b /2а.我想,自己计算应该不难:)
总结以上是内存溢出为你收集整理的ios – 如果知道起点和终点但高度是可变的,如何在cocos2d / box2d中创建预览轨迹?全部内容,希望文章能够帮你解决ios – 如果知道起点和终点但高度是可变的,如何在cocos2d / box2d中创建预览轨迹?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)