抛物线算法(已知起点、终点、高度)

[游戏开发]无目标抛物线弹道实时计算,含二维、三维、真实落点推导 下文中无论是弓箭、弩车、还是投石车,发射出的物体以抛射物命名无特殊要求,抛射物不考虑其他力,只考虑重力加速度gt 抛射物飞行总时间 从0到NVo 抛射初速度,恒定不变ϴ 抛射时角度,恒定不变g 重力加速度,恒定不变Vy 垂直方向Y轴当前速度,随重点不断变化 Vy = Vo * Sinϴ - g * tVx 前方向X轴当前速度,恒定不变 Vx = Vo * Cosϴ。 阅读详情

以下内容为转载内容,来自:http://tr4work.blog.163.com/blog/static/1371493142011329113733260/


不多说了,直接上算法:

首先我们要知道子弹的起点和终点,以及你想让子弹飞的高度。然后算出路径
CGPoint startPoint = CGPointMake(20,20);
CGPoint endPoint = CGPointMake(200,20);
int height = 100;
int x1 =  startPoint.x; //起始点
int y1 = startPoint.y;
int x3 =endPoint.x;//终点
int y3 = endPoint.y;
//发射路径宽度
int width = abs(x3 - x1);
//算出中间会经过的一点
int x2 = x1 + width/2;
int y2 = y1 - height;
//根据抛物线方程ax^2+bx+c=y,得方程组 //ax1^2+bx1+c=y1 //ax2^2+bx2+c=y2 //ax3^2+bx3+c=y3 //解方程组得抛物线的a,b,c

b = ((y1-y3)*(x1*x1-x2*x2)-(y1-y2)*(x1*x1-x3*x3))/((x1-x3)*(x1*x1-x2*x2)-(x1-x2)*(x1*x1-x3*x3)); 


a = ((y1-y2)-b*(x1-x2))/(x1*x1-x2*x2);


 c = y1-a*x1*x1-b*x1;

//x轴速度为vx

float vx = width/5;//5为秒

//算出新坐标

- (void)update:(ccTime)dt {

 CGPoint position = sprite.position;
           x = position.x + dt*vx;
           y = a*x^2 + b*x + c;
           sprite.position = ccp(x, y);

}


这是我用在cocos2d游戏中的一个抛物线路径算法,希望对大家有用

抛物线子弹 抛物线子弹 想实现愤怒小鸟的抛物线,在网上找了一番,没有找到。 自己实现了下。实现了两种抛物线的算法: 1.通过sin函数,需知道目标点。 2. 通过匀加速和自由落体,模拟了抛物线子弹的效果。 如有更好的计算方式,请留言。 互相分享,共同进步。 // 需知道目标点 public class TestBullet : MonoBehaviour { public float value; pu... 阅读详情

相关推荐

js实现小球抛物线轨迹运动的两种方式

js实现小球抛物轨迹运动的大致思路:   1、用setInterval()方法,进行间隔性刷新,更新小球位置,以实现动态效果    2、绘制小球和运动区域,运动区域可通过flex布局实现垂直居中    3、用物理公式S(y)=1/2*g*t*t,S(x)=V(x)t来计算路径   现确定V(x)=4m/s,刷新的时间间隔设置为0.1s。原本px和米之间的转换,不同尺寸转换不同,本例采用17

u013420372的博客 1万+

游戏中抛物线的计算

最近在设计一个炮打怪物的游戏动作,大炮打出子弹后子弹沿抛物线轨迹运行,同时怪物也在移动。因此就需要预计子弹会与怪物在何处相遇。好吧,众所周知,三点确定一抛物线,那我们就来找三个点吧。(x1,y1),子弹发射点;(x2,y2),目标所在点;第三个点该如何确定呢?其实这里我们需要再给出一个条件。一般游戏效果会有这几种要求:--第一种--抛物线的高度为定值:那么就得到了第三个点(  (x1+x2)/2,  H )  ;根据自由落体的原理,H和抛射点均为定值了,整个过程的运行时间也为定值;t = √2H/g  ,g

diaodiaowen1987的专栏 8836

cesium 抛物线飞线(贝塞尔曲线算法)

cesium 贝塞尔曲线算法

God's asylum的博客 578

已知起点和终点求炮弹轨迹

这个是用Action Script3.0脚本写的 在炮弹发射的时候,用于计算抛物线y=a*x*x + b* x +c公式中a,b,c             //炮弹的射程             var shotWidth:int=targetX-startX;             //炮弹的射程高度             var shotHeight:int=shotWidth/2-

蓝天的博客 5466

手把手教你用GEM-2多频电磁仪找地下管道(附真实数据图)

本文详细解析了使用GEM-2多频电磁仪精准定位地下管线的全流程,包括设备调试、频率选择、现场扫描技巧及数据解读。通过真实案例展示了如何应对复杂干扰环境,提升管线检测效率与准确性,特别适合市政工程和地下管线普查。

weixin_42565652的博客 398

3.1使用Python读取excel的二维数据

要使用 Python 读取 Excel 的二维数据,可以使用 openpyxl 或 pandas 库。

kenshin1980的专栏 1032

c语言精确线搜索抛物线法,(原创)切抛物线法解方程

牛顿法使用的是函数切线的方程的零点来逼近原函数的零点,他所使用的是“切直线”,要是改为同曲率的“切抛物线”,则有更稳定的收敛效果以及更快的收敛速度设函数$y=f(x)$在$(x_0,y_0)$处有一条“切抛物线”$y=ax^2+bx+c$,则应该有$a(x_0+\Delta x)^2+b(x_0+\Delta x)+c=f(x_0+\Delta x)$-------(A)$ax_0^2+bx_0+...

weixin_36434922的博客 686

deap数据集的情绪检测代码环境搭建与实现

deap数据数据集很大

f的博客 4157

c语言精确线搜索抛物线法,一维迭代搜索(黄金分割法抛物线法).ppt

一维迭代搜索(黄金分割法抛物线法)作业 P127页 3-15;3-17;3-19。 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 第3节 一维搜索方法 当采用数学规划法寻求多元函数的极值点时,一般要进行一系列如下格式的迭代计算: 当方向 给定,求最佳步长 就是求一元函数 : 的极值问题,这一过程被称为一维搜索(...

weixin_39965283的博客 527

【用ArcGIS制作一张好看的中国月度气温图

要最后选中那个事先调整好的那个数据框,这样其他两个数据框才能和其大小一致。

J_Giser的博客 1017

通信算法之281:大疆DJI无人机ID-DJI DroneID开源工程-相关问题-协议信息问题

ZC序列的参数未知。但是,使用第一个或第二个零相关序列对每个OFDM符号进行相位调整,对于直接相邻于使用过的零相关序列的时间上的OFDM符号工作得很好,但对其它符号效果不佳。由于符号的顺序没有改变,而9 OFDM符号情况下的第一个OFDM符号没有用处,因此本存储库中的脚本对待所有突发都是有9个OFDM符号的,并且不对第一个OFDM符号做任何处理。棘手的地方在于需要生成比数据载波数量(始终为600)多1个的零相关序列,零化中间元素,将生成的样本映射到FFT的中心(采样率决定bin的数量),然后计算IFFT。

leegang12的专栏 1620

Cesium抛物线升级版 三维点、带高度的两点抛物线计算方法

此时假设起点A、终点B都有高度对应h1、h2 ,可以把两点想象成在以上抛物线上的某一个位置,并且设当前所在抛物线位置比例为x1、x2,那么通过抛物线方程h = 4 * maxH * x *(1 - x)分别代入h1 、h2、maxH(maxH > h1、h2)的具体值,就一定能求出对应的x1、x2。看了网上实现抛物线的算法,都很棒,不过都是基于平面的两点(即不考虑高度)的计算,可能大部分项目场景都不需要加载地形的原因吧,本文基于网上二维点计算抛物线的方法,拓展一下 ,如果两点都带高度,该如何计算。

m0_73348873的博客 375

RLHF 家族的奇巧魔改:On Policy 与 Off Policy 路线大PK

无论是 On Policy 还是 Off Policy,RLHF 家族的“魔改”之路都充满了奇思妙想。相信随着研究的深入,RLHF 技术将会在 Alignment 领域发挥越来越重要的作用。

步子哥的博客 2082

javascript 抛物线算法

我整理的一些关于【Java】的项目学习资料(附讲解~~)和大家一起分享、学习一下:https://d.51cto.com/f2PFnN实现 JavaScript 抛物线算法指南 抛物线运动广泛应用于游戏开发、物理模拟等领域。本文将教你如何实现一个简单的抛物线算法,使用 JavaScript 来模拟物体的抛出。接下来,我们...

weixin_42342010的博客 237

C# 固高板卡(总线型) 操作类

主要功能有:初始化,轴使能,正负方向手动移动,回0,点到点移动,等待移动完成,输入IO数据读取,输出IO控制,清除报警等功能。

StevenChen的博客 571

2025华为od面试手撕代码【求字符串表达式结果】

2025华为od面试手撕代码【求字符串表达式结果】

MISAYAONE的博客 1353

抛物线、导弹线轨迹计算

转自:https://www.cnblogs.com/sevenyuan/p/8444109.html 算法思想 三、代码示例 void UParabolicMovementComponent::InitComputeParams() { //无目标时 if (!bHasTarget) { // 指定出射角度时计算方法 // FQuat...

kevin_org 1万+

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

关于手机游戏中的炮弹轨迹——抛物线

  关于手机游戏中的炮弹轨迹——抛物线在手机游戏的开发中常常会根据一条抛物线来模拟炮弹的轨迹。在已知炮弹的发射点,射程和射击高度的情况下,完全可由抛物线方程来模拟出炮弹的运行轨迹,当然,这里的模拟只是理想状态下的,并没有把风力等因素考虑进去。  根据炮弹的发射点(x1,y1),射程(cs)和射击高度(h)可得出抛物线的三个点:  p1:(x1,y1)  p2:(x2,y2)    x2=x1+

aflylove的专栏 4898

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Unity - 抛物线运动

【代码】Unity - 抛物线运动。

枫叶的博客 17

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Cesium 贝塞尔曲线、抛物线(笔记)

笔记

qq_35984445的博客 4546

Unity3D 弓箭的拋物線轨道(弹道)

本文章是运用了一元二次方程来实现弓箭的抛物线轨道 代码用C#编写,类名为:Trajectory.cs(也就是弹导的意思) 废话不多说,先给大家讲解代码。 代码: Fire()是入口函数,只要你把起始位置和目标位置填上,它就会自动以抛物线的方式发射; 用一元二次来计算当前高度从而达到抛物线的效果是实现轨道最重要的一部分。 你把代码附加到随便一个物体上都能使用 T

sumkee911‘s coding 8601

Unity 3D 抛物线算法

想做一个抛物线的算法,去网上搜也有一些,但是都不是我想要的那样的效果,所以只好自己动手,当中有许多公式还是问的朋友(自己早就忘记了)。希望这段代码能给大家帮助,如果有什么写的不好的请大家多多指教。    用法很简单:1. 代码添加到要抛出的物体 2.设置 M(质量)、G(重力)、TUP(希望到达最高点的时间 )和TARGET(目的地物体。当然这个抛物线只是简单写了下,计算的只是在完美的运动下的抛

mashuailove的专栏 4616

Fast Planner——从一维抛物线到三维ESDF:EDT算法的实现与优化

本文深入解析了Fast Planner中EDT(欧几里得距离变换)算法的实现与优化,从一维抛物线到三维ESDF(欧几里得符号距离场)的构建过程。通过详细的代码示例和可视化调试技巧,揭示了EDT算法如何高效计算每个点到最近障碍物的距离,为无人机避障和路径规划提供核心支持。

weixin_27256197的博客 439

根据物理公式在Unity中实现抛物线运动.1

说明下应用场景 已知炮台的仰角是30度,在仰角方向的速度是10m/s, 实现抛物线运动。 物体的抛物线运动,可以将仰角方向的速度分解成水平方向和垂直方向。已知仰角方向的速度,和角度,可以根据三角函数可以计算出水平方向的速度和垂直方向的速度。 在水平方向的速度是匀速运动,而在垂直方向是重力加速度的自由落体运动。 具体实现如下: 1.分解仰角方向的的速度为x方向和y方向 volocityY = Mathf.Sin(Mathf.Deg2Rad * angle) * volocity; voloc

程序猿加油站 4041

【微实验】抛物线边界波前反射仿真(不成功的实验)

本文通过MATLAB仿真研究了四条抛物线边界围成区域内波动的周期性传播特性。首先分析了抛物线的光学性质与边界反射机制,建立了精确的抛物线几何模型。随后详细介绍了波前追踪算法的实现流程,包括高精度网格设置、边界碰撞检测和智能反射计算。研究发现,对称的抛物线结构能产生稳定的周期波动传播模式,这一特性在激光谐振腔设计、声学聚焦装置和微流控芯片等领域具有重要应用价值。文章还探讨了如何通过并行计算和交互式工具提升仿真效率,为工程实践提供了从理论到仿真的完整解决方案。

民乐团扒谱机的博客 1153
上一篇: 建一支强大的小团队(加长版) by 陈皓
下一篇: STL各种容器迭代器失效的时机
寰子
博客等级 码龄15年 91粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值