ios – 如果知道起点和终点但高度是可变的,如何在cocos2dbox2d中创建预览轨迹?

ios – 如果知道起点和终点但高度是可变的,如何在cocos2dbox2d中创建预览轨迹?,第1张

概述我是一位经验丰富的iPhone开发者,但对Cocos2D和Box2D不熟悉,我完全承认我需要进行物理复习.我想要建立的是预览轨迹(弧线表示基于输入变量的射d飞行路径 – 类似于许多愤怒的小鸟风格游戏中所见). 我想做一些有点不同的事情,其中​​我设置起点(射d在屏幕上开始位置)和终点(目标位置).根据用户输入,抛物线的高度会有什么变化.所以在这个意义上,我并没有使用抛物线路径来预测目标将落在哪里, 我是一位经验丰富的iPhone开发者,但对Cocos2D和Box2D不熟悉,我完全承认我需要进行物理复习.我想要建立的是预览轨迹(弧线表示基于输入变量的射d飞行路径 – 类似于许多愤怒的小鸟风格游戏中所见).

我想做一些有点不同的事情,其中​​我设置起点(射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中创建预览轨迹?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/999352.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存