如何让物体沿圆弧路径运动?

2023-12-02

我正在制作一个游戏,其中应该有一个机器人向另一个机器人扔球形物体。

投出的球应以对称的弧线飞行。很确定这个数学词是抛物线。

两个机器人都在 x 轴上。

我怎样才能在我的游戏中实现这样的事情?我尝试了不同的方法,但没有一个有效。

我的游戏中当前移动物体的系统是这样的:每个物体都有x and y坐标(变量),以及dx and dy变量。

每个对象都有一个move()方法,该方法在游戏循环的每个周期都会被调用。它只是添加了dx to x and dy to y.

我怎样才能将我所描述的内容应用到这个系统中?

如果涉及到很多数学,请尽量用简单的方式解释,因为我数学不太好。

我的情况:

enter image description here

多谢


你应该添加velocity到你的导弹。

速度是一个矢量,这意味着它表示导弹在 x 轴上移动的速度和 y 轴上移动的速度。现在,而不是使用Move()使用类似的东西Update()。像这样的东西:

void Update()
{
    position.X += velocity.X;
    position.Y += velocity.Y;
}

现在让我们想想,导弹发射后会发生什么:

一开始它有一定的启动速度。例如,某人在 x 方向上以 1 m/s 的速度发射导弹,在 y 方向上以 -0.5 m/s 的速度发射导弹。然后,当它发射时,导弹将被拉向地面 - 它的 Y 速度将向地面增加。

void Update()
{
    velocity.Y += gravity;

    position.X += velocity.X;
    position.Y += velocity.Y;
}

这将使你的导弹根据物理原理(不包括空气阻力)移动,并产生漂亮的抛物线。

Edit:您可能会问如何计算初速度。假设我们有给定的射击角度(射击线和地面之间),并且初始角度speed(我们可能知道发射后导弹的速度有多快,只是不知道X和Y值)。然后:

velocity.X = cos(angle) * speed;
velocity.Y = sin(angle) * speed;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何让物体沿圆弧路径运动? 的相关文章

  • 帮助我在 Python 中实现反向传播

    EDIT2 新的训练集 Inputs 0 0 0 0 0 0 1 0 0 0 2 0 0 0 3 0 0 0 4 0 1 0 0 0 1 0 1 0 1 0 2 0 1 0 3 0 1 0 4 0 2 0 0 0 2 0 1 0 2 0 2
  • 计算标签云中标签字体大小的公式是什么?

    我有一个标签云 我需要知道如何更改最常用标签的字体大小 我需要设置最小字体大小和最大字体大小 您可以使用线性或对数评估与某个标签相对于最大标签关联的项目数量 将其乘以最小和最大字体大小之间的差值 然后将其添加到最小字体大小 例如 伪代码中的
  • 为什么在 Javascript 中添加两位小数会产生错误的结果? [复制]

    这个问题在这里已经有答案了 可能的重复 JavaScript 的数学有问题吗 https stackoverflow com questions 588004 is javascripts math broken 为什么 JS 搞砸了这个简
  • Python:球体的交集

    我对编程非常陌生 但我决定承担一个有趣的项目 因为我最近学会了如何以参数形式表示球体 当三个球体相交时 有两个不同的交点 除非它们仅在一个奇点处重叠 球体的参数表示 我的代码是根据答案修改的Python matplotlib 绘制 3d 立
  • 四舍五入到 25、50、75、100

    我不是一个数学爱好者 所以我很难想出一个将小数四舍五入到 25 50 75 和 100 的计算方法 这不会是典型的四舍五入 因为小数不会减少但只增加了 Example 如果 11 12 则舍入为 11 25 如果为 11 34 则舍入为 1
  • 矩阵向量变换

    我正在编写一个代码来制作软件蒙皮器 骨骼 皮肤动画 并且我正处于 优化 阶段 蒙皮器工作得很好 并且在 Core 上 1 09 毫秒内对 4900 个三角形网格与 22 个骨骼进行蒙皮Duo 2 Ghz 笔记本 我需要知道的是 1 有人可以
  • 按度数在圆上找到一个点?

    假设我们有一个 100x100 坐标系 如下所示 0 0 是它的左上角 50 50 是它的中心点 100 100 是它的右下角 等等 现在我们需要从中心向外画一条线 我们知道线的角度 但需要计算其终点的坐标 您认为最好的方法是什么 例如 如
  • 找出圆周上像素坐标的算法

    如果我知道圆心 圆半径和垂直角的像素坐标 如何找出圆圆周上一定角度的像素值 基本上 我试图在不同的时间绘制时钟的指针 1点 2点等 Let h是浮点数形式的小时 h 2 25将是 02 15 等 在 0 到 12 之间 cX cY 是中心的
  • 使用C标准数学库精确计算标准正态分布的CDF

    标准 C 数学库不提供计算标准正态分布 CDF 的函数 normcdf 然而 它确实提供了密切相关的函数 误差函数 erf 和互补误差函数 erfc 计算 CDF 的最快方法通常是通过误差函数 使用预定义常量 M SQRT1 2 来表示 d
  • 两组数的最小公等和及组合

    我目前正在用 C 创建一个程序 该程序将查找两组数字的尽可能低的相等总和 您可以在其中根据需要多次重复这些数字 比如我有这两套 10 13 18 and 12 16 22 我能得到的最低金额是28 10 18 and 12 16 另一个例子
  • 如何自定义舍入形式

    我的问题可能看起来很简单 但仍然无法得到有效的东西 我需要自定义 Math round 舍入格式或其他格式以使其工作如下 如果数字是 1 6 他应该四舍五入到 1 如果大于或等于 1 7 他应该四舍五入到 2 0 对于所有其他带有 6 的小
  • 这个平面射线相交代码正确吗?

    我的 Plane 类有两个字段 public Vector3 Norm normal vector public double Offset signed distance to origin 这是我用于交集的代码 不知道是否正确 我加倍
  • GCC的sqrt()编译后如何工作?使用哪种root方法?牛顿-拉夫森?

    只是对标准感到好奇sqrt 来自 GCC 上的 math h 我自己编码的sqrt 使用牛顿拉夫森来做到这一点 是的 我知道 fsqrt 但CPU是如何做到这一点的呢 我无法调试硬件 现代 CPU 中的典型 div sqrt 硬件使用 2
  • 这个方法比 Math.random() 更快吗?

    我是一名初学者 目前已经开始开发一款使用粒子群优化算法的 Android 游戏 我现在正在尝试稍微优化我的代码 并且 for 循环中有相当多的 Math random 几乎一直在运行 所以我正在考虑一种方法来绕过并跳过所有 Math ran
  • 如何在 C 中将 uint 转换为 int,同时将结果范围的损失最小化

    我想要两个无界整数之间的差 每个整数由一个表示uint32 tvalue 是对 2 32 取模的无界整数 例如 TCP 序列号 请注意 模 2 32表示形式可以环绕 0 这与更受限制的问题 不允许环绕 0 https stackoverfl
  • 使用按位运算符相乘

    我想知道如何使用按位运算符将一系列二进制位相乘 但是 我有兴趣这样做来查找二进制值的十进制小数值 这是我正在尝试做的一个例子 假设 1010010 我想使用每个单独的位 以便将其计算为 1 2 1 0 2 2 1 2 3 0 2 4 虽然我
  • 从 1 到 20 亿,像 (23,29) 这样相差 6 的连续素数对的数量

    如何在考虑时间复杂度的情况下从 1 到 20 亿 使用任何编程语言且不使用任何外部库 找到像 23 29 这样相差 6 的连续素数对的数量 尝试过埃拉托色尼筛 但获得连续素数是一个挑战 使用了生成器 但时间复杂度非常高 代码是 def ge
  • 批处理文件中是否存在“Power to”功能? (指数)

    Problem 有没有办法将变量 乘以 数字或其他变量的批处理文件 有这个功能吗 Python 中的一个示例是您可以使用 为 到 的力量 EDIT 您可以在批处理文件中进行数学运算 http en wikipedia org wiki Ba
  • 使用到达时间差对信号进行三边测量

    我在寻找或实现寻找信号源的算法时遇到一些麻烦 我的工作目标是找到声音发射器的位置 为了实现这一点 我使用了三个麦克风 我正在使用的技术是多点定位这是基于到达时间差 The 到达时间差使用发现每个麦克风之间互相关接收到的信号 我已经实现了算法
  • 用 python 编写的数学语法检查器

    我需要的只是使用 python 检查字符串是否是有效的数学表达式 为了简单起见 假设我只需要 运算符 也作为一元 带有数字和嵌套括号 为了完整性 我还添加了简单的变量名称 所以我可以这样测试 test 3 2 1 valid test 3

随机推荐

  • 使用 SQLiteQueryBuilder 连接两个表

    我正在尝试使用 Android SDK 的 SQLiteQueryBuilder 连接两个表 我们将它们称为 t1 和 t2 并根据每个表中的属性 例如 t1 att1 和 t2 att2 查询该表 等于某个值 在选择时我对语法有点困惑 感
  • x64 系统上的 win32 应用程序编译 0K 时出现运行时错误(dll 加载)

    我最初在win7 32位上设计了一个win32应用程序 使用VC9 0 我最近升级到win7 64位 并尝试构建 执行以前的应用程序 构建运行良好 win32 应用程序 但在运行时我收到错误 已退出 代码为 1073741701 0xc00
  • 决赛桌的合并相当于什么?

    我正在尝试使用合并来仅插入新记录 我想收集插入的新记录的 ID 以及被忽略的重复记录的 ID 这是表的创建语句 drop table SSZ ME MIS test update table create table ssz me mis
  • 如何将 TabBarView 上的滚动条“合并”到 PageView 中?

    我有一个在其主页上使用 PageView 的应用程序 今天 我被分配在其中一个页面中插入 TabBarView 问题是 当我在最后一个选项卡中滚动选项卡之间时 向左滚动将不会滚动 PageView 我需要一种方法来使页面视图在选项卡视图的开
  • 如何使用java自动从日历中选择特定日期

    我有一个案例 我必须从日历中选择 3 天回溯的日期 如何使用 selenium 自动化此案例 我正在使用 java 和 selenium 进行自动化 1 假设您可以在输入字段中写入日期 并且日历只是图标 你可以有这样的辅助方法 public
  • 如何在提交事件处理程序中获取表单值?

    我试图开始使用一个非常简单的 Google 表单 其中仅包含几个问题 只有 2 个选项和一个简短文本的多项选择 创建后 我打开脚本编辑器并输入 function onSubmit e Logger log onSubmit s JSON s
  • WP7 (Windows Phone 7) 在 XAML 或 C# 中锁定手机方向

    Windows Phone 7 是否可以手动锁定手机方向 因为我使用加速度计来处理具有固定 UI 的按钮旋转 我已经尝试过了 在 XAML 中 SupportedOrientations Landscape Orientation Land
  • 将 simple-prefs (SDK API) 与外部脚本和 postMessage 一起使用

    我正在使用 SDK 开发附加组件的新版本 针对 Gmail 并且需要为我的用户存储一些布尔首选项 为此 我想使用新的 simple prefs API 基于Mozilla 文档和这个堆栈溢出问题 我得到了一些东西 但我面临以下问题 1 我无
  • 是否可以在 vscode 中将您的代码分为 R 部分?

    有没有办法使用类似于 RStudio 的代码部分 或 MATLAB 的 在 VSCode 中 我想将我的代码分为几个部分并有选择地运行这些部分 那可能吗 Thanks Yasir 我认为您正在了解一些不同的事情 如果您想划分代码并像 jup
  • 在 R 中索引冗余命名的向量

    在 R 中 当有一个冗余命名向量时 为什么无法使用选择运算符检索命名向量中的所有元素 v lt c 1 2 3 4 5 names v lt c a b c c a v c Returns only 3 not c 3 4 看起来 R 假设
  • webGL单帧“截图”

    尝试寻找类似的东西 但我没有运气 我正在尝试打开一个新选项卡 其中包含 webgl 图像当前状态的屏幕截图 基本上 它是一个 3D 模型 能够更改显示的对象 这些对象的颜色以及背景颜色 目前 我正在使用以下内容 var screenShot
  • E*Trade API 在获取访问令牌时经常返回 HTTP 401 Unauthorized,但并非总是如此

    Summary 我编写了一个简单的 C NET Core 应用程序 使用 OAuthv1 对 E Trade API 进行身份验证 目的是获取股票报价 我能够进行身份验证并获取请求令牌 重定向到授权页面并获取验证程序字符串 但是 当我使用验
  • 通过 Zip Google Geocode Api 查找城市和州 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我基本上想检索邮政编码内的城市和州列表 Google Geocode API 可以这样做吗 我尝试查看文档 但发现信息过多 任何帮助 将不胜感激 如
  • 使用 C 访问 Twitter Streaming API

    我正在尝试使用 C 访问 Streaming API 并使用以下代码 include
  • 在 Windows 服务 C# 中引发自定义类事件

    我确实编写了一个可以使用 dll 连接到网络设备的 Windows 服务 所以一切正常 但是事件处理程序在 win 服务中不起作用 这是我的代码 我的自定义类代码 using System using System Collections
  • 浏览器之间的颜色(颜色)差异?

    我刚刚注意到我正在处理的一个网站在 Chrome 中看起来与其他浏览器 saf ff 不同 Chrome 中的所有内容都更加饱和 甚至是背景色 rgb 我不知道是什么导致了这种情况发生 不能与 img 颜色配置文件有任何关系 否则 rgb
  • 在 Swift 中创建一个接受本机 Swift 协议的弱容器

    这是 Swift 中的标准样板弱容器 struct Weak
  • 为每条记录保存带有新行的 R JSON 对象

    我正在尝试保存一个 JSON 对象 其中每一行都是一条记录 如何保存 JSON 对象以使行数等于记录数 在下面的示例中为 5 library jsonlite df mtcars 1 5 x lt jsonlite toJSON df re
  • 什么是投影和选择?

    投影和选择有什么区别 是吗 投影 gt 用于选择表的列 和 选择 gt 选择表的行 那么投影和选择分别是垂直和水平切片吗 Exactly 投影意味着选择哪些列 或表达式 查询应返回 选择 means 哪些行将被退回 如果查询是 select
  • 如何让物体沿圆弧路径运动?

    我正在制作一个游戏 其中应该有一个机器人向另一个机器人扔球形物体 投出的球应以对称的弧线飞行 很确定这个数学词是抛物线 两个机器人都在 x 轴上 我怎样才能在我的游戏中实现这样的事情 我尝试了不同的方法 但没有一个有效 我的游戏中当前移动物