
Math Function
Let you use a command or an enchantment to build a function graph
- Загрузки
- 105
- Подписчики
- 2
- Обновлён
- 9 июля 2026 г.
- Лицензия
- GPL-3.0-only
Опубликован 2 апреля 2026 г.
Math Function
Bring mathematics to life in Minecraft with function-powered projectiles and graphs!
📖 Introduction
Math Function is a Minecraft NeoForge mod that transforms mathematical expressions into interactive in-game experiences. Whether you want to visualize functions as block graphs or launch projectiles along custom curves, this mod brings the beauty of math directly into your world.
Two Core Features in One Mod:
1. Block Graph Generation – Visualize any function as a 3D block structure using a simple command.
2. Function Enchantment – Apply custom mathematical trajectories to weapons and tools, turning arrows, TNT, fireworks, and even your own flight into controllable function curves!
Supported Functions
| Category | Functions |
|---|---|
| Basic Arithmetic | + - * / |
| Power | ^ (e.g. x^2) |
| Unary Operator | -x (negative numbers) |
| Trigonometry | sin(x) cos(x) tan(x) |
| Logarithms | log(x) ln(x) log(base, value) log2 log10 |
| Roots | sqrt(x) sqrt(root, value) (e.g. sqrt(3, 27) = cube root) |
| Rounding | floor(x) (round down), ceil(x) (round up), round(x) (round to nearest), trunc(x) (remove decimal) |
| Other | abs(x) exp(x) min(a, b) max(a, b) mod(a, b) |
| Random | Ran# (0~1) RanInt(min, max) |
| Constants | e pi |
| Nesting | 3*x^2 + sin(2*x) |
Custom Functions
Define your own reusable functions using the /customfunction command! This is perfect for complex expressions you use frequently.
- Add:
/customfunction add <name> <expression>– e.g./customfunction add square x^2 - List:
/customfunction list– show all saved functions - Get:
/customfunction get <name>– view a function's definition - Eval:
/customfunction eval <name> <x>– quickly compute a value - Modify:
/customfunction modify <name> <new_expression>– update a function - Remove:
/customfunction remove <name>– delete a function - Remove all:
/customfunction remove-all– clear all (operator only)
Custom functions are saved to custom_functions.json and persist across restarts. They can be used anywhere expressions are accepted: /fx commands, anvil renames, and enchantment trajectories.
Note: Function names cannot conflict with built-in functions (
sin,sqrt,log, etc.), constants (e,pi), or the reserved namef(to avoid conflicts with thef(x)=prefix).
🧪 Block Graph Command
/fx "<expression>" <min_x> <max_x> <block> [scale] [mode] [coordinateSystem]
Parameters
| Parameter | Description |
|---|---|
expression |
Math expression in terms of x (e.g. "x^2 + 3*x - 5"). Supports + - * / ^ sin cos tan sqrt log ln. |
min_x, max_x |
Domain of the function (x values). |
block |
Block to build the graph (e.g. minecraft:red_concrete). |
scale (optional) |
How many blocks represent one unit (default = 1, range 1–10). |
mode (optional) |
stand – vertical graph (Y = f(x)), floor – horizontal graph (Z = f(x)). |
coordinateSystem (optional) |
true / false – whether to generate a quartz coordinate system (origin at (0,0), shifted 1 block left/down). |
Example
/fx "x^2" -5 5 minecraft:blue_wool 2 stand true
Creates a blue wool parabola from x=-5 to x=5, each unit = 2 blocks, with a coordinate system.
⚔️ Function Enchantment
Rename any compatible item to f(x)=expression or y=expression (e.g. f(x)=x^2) and the enchantment will activate automatically. No command required – just rename the item in an anvil!
Compatible Items & Behaviors
| Item | Effect |
|---|---|
| Bow / Crossbow | Arrows follow the function curve y = f(x), where x is horizontal distance and y is height relative to launch point. |
| Flint and Steel | Lit TNT flies along the function curve before exploding. |
| Firework Rocket | Fireworks glide along the curve and explode upon hitting blocks or entities. |
| Trident (with Riptide) | Player flies along the function curve during water/rain dash – press jump key to stop anytime! |
Example Usage
- Get a bow and enchant it with the Math Function enchantment or obtain it via commands.
- Rename the bow in an anvil to
f(x)=sin(x)*2. - Shoot an arrow – it will fly in a beautiful sine wave!
- For TNT: rename flint and steel to
y=cos(x)and ignite TNT. - For tridents: rename a riptide trident to
f(x)=x^2/10and dash through water!
Technical Details
- Initial height automatically set to f(0), ensuring constant functions work correctly.
- Real-time numerical differentiation computes tangent velocity for smooth motion.
- Collision detection prevents projectiles from going through blocks.
- Cleanly reverts to vanilla physics when out of range, duration, or upon impact.
- Supported since version 2.0, continuously improved with each release.
✨ Features
- Real‑time expression parsing – Fast and reliable, no external libraries.
- Continuous graph lines – Bresenham’s line algorithm fills gaps between sample points.
- Automatic discontinuity handling – Breaks at invalid points (e.g.
1/xnear 0,tan(x)at asymptotes). - Axis‑aligned placement – Graph extends along the nearest cardinal direction based on where you look.
- Projectile trajectory – Full function-based flight with particle trails and collision.
- Multi-shot compatibility – Arrows spread slightly when using the Multishot enchantment.
- Safe by default – Prevents rendering outside world height or exceeding performance limits.
- Player feedback – Chat messages show expression, block name, execution time and origin coordinates.
- Custom functions – Define and reuse your own math functions with the
/customfunctioncommand.
🧩 Requirements
- Minecraft: 1.21.1 (NeoForge)
- NeoForge: 21.1.176 or later
📦 Installation
- Download the latest JAR from Modrinth or GitHub Releases.
- Place it into your
modsfolder. - Launch Minecraft with NeoForge installed.
- Start building graphs or launching function-powered projectiles!
⚖️ License
This mod is released under the GNU General Public License v3.0.
You may freely use, modify, and redistribute it, provided you share your changes under the same license.
See the LICENSE file for details.
🔗 Links
- GitHub Repository
- Issue Tracker
- Releases: GitHub, Modrinth
中文介绍
📖 概述
Math Function 是一个 Minecraft NeoForge 模组,将数学表达式转化为游戏中的交互体验。无论是用方块生成函数图像,还是让弹射物沿自定义曲线飞行,这个模组都能让数学的美丽直接展现在你的世界里。
一个模组,两大核心功能:
1. 方块图像生成 – 通过简单的命令,将任意函数可视化为 3D 方块结构。
2. 函数附魔 – 为武器和工具赋予数学轨迹,让箭矢、TNT、烟花火箭甚至你自身的飞行都变成可控的函数曲线!
支持的函数
| 类别 | 函数 |
|---|---|
| 基础运算 | + - * / |
| 幂运算 | ^(如 x^2) |
| 一元负号 | -x(负数) |
| 三角函数 | sin(x) cos(x) tan(x) |
| 对数 | log(x) ln(x) log(底数, 真数) log2 log10 |
| 根号 | sqrt(x) sqrt(根指数, 被开方数)(如 sqrt(3, 27) = 27 的立方根) |
| 取整 | floor(x)(向下取整),ceil(x)(向上取整),round(x)(四舍五入),trunc(x)(截断小数) |
| 其他 | abs(x) exp(x) min(a, b) max(a, b) mod(a, b) |
| 随机数 | Ran#(0~1 随机小数)RanInt(min, max)(指定范围随机整数) |
| 常数 | e pi |
| 嵌套 | 3*x^2 + sin(2*x) |
自定义函数
使用 /customfunction 命令创建自己的可复用函数!非常适合经常使用的复杂表达式。
- 添加:
/customfunction add <名称> <表达式>– 例如/customfunction add square x^2 - 列表:
/customfunction list– 显示所有已保存的函数 - 查看:
/customfunction get <名称>– 查看函数定义 - 计算:
/customfunction eval <名称> <x值>– 快速计算函数值 - 修改:
/customfunction modify <名称> <新表达式>– 更新函数 - 删除:
/customfunction remove <名称>– 删除函数 - 全部删除:
/customfunction remove-all– 清空所有(需管理员权限)
自定义函数保存在 custom_functions.json 文件中,重启后依然保留。它们可以在任何接受表达式的地方使用:/fx 命令、铁砧命名和附魔轨迹。
注意:函数名称不能与内置函数(
sin、sqrt、log等)、常数(e、pi)或保留名称f(避免与f(x)=前缀冲突)重名。
🧪 方块图像命令
/fx "<表达式>" <最小值_x> <最大值_x> <方块> [缩放] [模式] [坐标系]
参数说明
| 参数 | 说明 |
|---|---|
表达式 |
以 x 为自变量的数学表达式,支持 + - * / ^ sin cos tan sqrt log ln |
最小值_x,最大值_x |
定义域(x 的取值范围) |
方块 |
构建图像所用的方块(如 minecraft:red_concrete) |
缩放(可选) |
1 个单位长度对应多少格,默认 1,范围 1~10 |
模式(可选) |
stand – 竖立图像(Y = f(x)),floor – 平铺图像(Z = f(x)) |
坐标系(可选) |
true / false,是否生成石英块坐标轴(原点位于 (0,0),向左/下偏移 1 格) |
示例
/fx "x^2" -5 5 minecraft:blue_wool 2 stand true
生成从 x=-5 到 x=5 的蓝色羊毛抛物线,每单位长度 = 2 格,并显示坐标系。
⚔️ 函数附魔
将任意兼容物品重命名为 f(x)=表达式 或 y=表达式(例如 f(x)=x^2),附魔会自动激活。无需命令,只需在铁砧中重命名即可!
兼容物品与效果
| 物品 | 效果 |
|---|---|
| 弓 / 弩 | 箭矢沿函数曲线 y = f(x) 飞行,其中 x 为水平距离,y 为相对发射点的高度。 |
| 打火石 | 点燃的 TNT 沿函数曲线飞行,碰撞后爆炸。 |
| 烟花火箭 | 烟花沿曲线滑翔,碰到方块或实体时爆炸。 |
| 三叉戟(激流附魔) | 玩家在水中/雨中冲刺时沿函数曲线飞行 – 按下跳跃键可随时停止! |
| 其他弹射物(如雪球、鸡蛋等) | 同样支持函数轨迹,重命名对应物品即可! |
使用示例
- 获取一把弓,并为其附魔函数或通过命令获取。
- 在铁砧中将弓重命名为
f(x)=sin(x)*2。 - 射出箭矢 – 它将沿美丽的正弦波飞行!
- TNT 用法:将打火石重命名为
y=cos(x),然后点燃 TNT。 - 三叉戟用法:将带有激流附魔的三叉戟重命名为
f(x)=x^2/10,在水中冲刺! - 雪球用法:将雪球重命名为
f(x)=sqrt(25-x^2),扔出后它会沿半圆形轨迹飞行!
技术细节
- 起始高度自动设为 f(0),确保常函数也能正常工作。
- 实时数值微分计算切线速度,实现平滑运动。
- 碰撞检测防止弹射物穿透方块。
- 超出范围、超时或撞击后自动恢复原版物理。
- 自 2.0 版本起支持,持续迭代优化。
✨ 特色功能
- 实时表达式解析 – 快速可靠,无需外部库。
- 连续曲线图像 – 使用 Bresenham 直线算法填充采样点间隙。
- 自动处理间断点 – 遇到无效点(如
1/x在 0 附近、tan(x)的渐近线)自动断开。 - 沿轴向放置 – 图像根据玩家面朝方向自动对齐东南西北。
- 弹射物轨迹 – 完整的函数飞行,带有粒子尾迹和碰撞处理。
- 多重射击兼容 – 使用多重射击附魔时箭矢会略微分散。
- 默认安全机制 – 限制超出世界高度或性能开销过大的情况。
- 玩家反馈 – 聊天栏显示表达式、方块名称、执行耗时和原点坐标。
- 自定义函数 – 使用
/customfunction命令定义和复用你自己的数学函数。
🧩 运行要求
- Minecraft 版本:1.21.1(NeoForge)
- NeoForge 版本:21.1.176 或更高
📦 安装方法
- 从 Modrinth 或 GitHub Releases 下载最新 JAR 文件。
- 放入你的 Minecraft
mods文件夹。 - 确保已安装 NeoForge 并启动游戏。
- 开始生成函数图像或发射函数弹射物!
⚖️ 法律信息
本模组采用 GNU 通用公共许可证 v3.0 发布。
你可以自由使用、修改和重新分发,但必须同样以 GPLv3 许可证公开你的修改。
详见 LICENSE 文件。
🔗 相关链接
Ченджлог
2.8Релиз1.21.1 · 9 июля 2026 г.
【中文更新日志】
2.8 版本更新 - 自定义函数系统:
- 新增自定义函数功能!现在你可以使用
/customfunction命令创建、存储和调用自己的数学函数,让复杂的表达式复用变得轻而易举。 - 添加自定义函数:
/customfunction add <函数名> <表达式>— 例如/customfunction add square x^2,之后就可以直接使用square(3)来计算 9! - 查看已定义的函数:
/customfunction list列出所有已保存的自定义函数。 - 获取函数表达式:
/customfunction get <函数名>查看某个函数的定义。 - 计算函数值:
/customfunction eval <函数名> <x值>快速计算函数在指定 x 处的值。 - 修改已有函数:
/customfunction modify <函数名> <新表达式>更新函数定义。 - 删除函数:
/customfunction remove <函数名>移除不再需要的函数。 - 一键清空所有自定义函数:
/customfunction remove-all(需要管理员权限)。 - 自定义函数支持相互引用和嵌套调用,例如可以定义
f1(x)=x^2和g(x)=sin(f1(x))。 - 自定义函数会自动保存在
custom_functions.json文件中,重启游戏后依然保留。 - 自定义函数名称不能与内置函数(如
sin、sqrt、log等)或数学常数(e、pi)冲突,确保安全。同时f作为保留名称也不可用,以避免与f(x)=前缀冲突。 - 所有自定义函数均可在
/fx命令和函数附魔轨迹命名中使用,极大简化复杂表达式的输入。
【English Changelog】
Version 2.8 - Custom function system:
- Added custom function support! Now you can use the
/customfunctioncommand to create, store, and call your own math functions, making complex expression reuse effortless. - Add a custom function:
/customfunction add <name> <expression>— e.g./customfunction add square x^2, then usesquare(3)to compute 9! - List all defined functions:
/customfunction listshows all saved custom functions. - Get a function expression:
/customfunction get <name>displays the definition of a function. - Evaluate a function:
/customfunction eval <name> <x_value>quickly computes the function value at a given x. - Modify an existing function:
/customfunction modify <name> <new_expression>updates the function definition. - Remove a function:
/customfunction remove <name>deletes an unwanted function. - Clear all custom functions at once:
/customfunction remove-all(requires operator permissions). - Custom functions support mutual references and nested calls, e.g. define
f1(x)=x^2andg(x)=sin(f1(x)). - Custom functions are automatically saved to
custom_functions.jsonand persist across game restarts. - Custom function names cannot conflict with built-in functions (such as
sin,sqrt,log, etc.) or math constants (e,pi), ensuring safety. The namefis also reserved to avoid conflicts with thef(x)=prefix. - All custom functions can be used in
/fxcommands and function enchantment trajectory naming, greatly simplifying the input of complex expressions.
2.7Релиз1.21.1 · 9 июля 2026 г.
【中文更新日志】
2.7 版本更新 - 表达式解析器大幅增强:
- 新增数学常数支持:现在可以直接在表达式中使用
e(自然常数)和pi(圆周率),例如sin(pi/2)或e^x。 - 新增一元负号支持:现在可以书写
-x^2、-sin(x)等表达式,解析器会正确处理负号。 - 新增实用数学函数:
floor(向下取整)、ceil(向上取整)、round(四舍五入)、trunc(截断小数)、mod(取模,例如mod(x, 3))、min(最小值,例如min(x, 5))、max(最大值,例如max(x, -1))。 - 新增随机数函数:
Ran#生成 0~1 之间的随机小数,RanInt(min, max)生成指定范围内的随机整数! - 重要修复:修复了使用含参函数(如
sin、sqrt、log等)时,若参数数量填写不正确(例如未填写参数或填写了多余参数)会导致游戏崩溃并损坏存档的严重问题。现在解析器会正确校验参数数量,表达式不合规时会给出清晰提示而不会引发崩溃。 - 表达式解析器更加强大且安全可靠,为函数图像和附魔轨迹带来更多的创作可能性。
【English Changelog】
Version 2.7 - Expression parser major enhancement:
- Added mathematical constants: now you can use
e(Euler's number) andpidirectly in expressions, e.g.sin(pi/2)ore^x. - Added unary minus support: now you can write expressions like
-x^2or-sin(x)– the parser handles negative signs correctly. - Added practical math functions:
floor(round down),ceil(round up),round(round to nearest),trunc(truncate decimals),mod(modulo, e.g.mod(x, 3)),min(minimum, e.g.min(x, 5)),max(maximum, e.g.max(x, -1)). - Added random number functions:
Ran#generates a random decimal between 0 and 1,RanInt(min, max)generates a random integer within the specified range! - Critical fix: Fixed a severe bug where using parameterized functions (such as
sin,sqrt,log, etc.) with incorrect argument counts (e.g., missing parameters or extra parameters) would crash the game and corrupt the save. The parser now properly validates argument counts and provides clear feedback for malformed expressions instead of crashing. - The expression parser is now more powerful, robust, and safer, unlocking even more creative possibilities for function graphs and enchantment trajectories.
2.6Релиз1.21.1 · 8 июля 2026 г.
【中文更新日志】
2.6 版本更新 - 表达式解析器升级:
- 重写了数学表达式解析器,现在支持更丰富的函数和更灵活的语法。
- 新增函数支持:
abs(绝对值)、exp(自然指数)、带任意底数的log(base, value)(例如log(2, 8)计算以 2 为底 8 的对数)、以及sqrt(root, value)(求任意次方根,如sqrt(3, 64)计算 64 的 3 次方根)。 - 支持
logN简写形式,例如log2表示以 2 为底的对数,log10表示常用对数。 - 解析器更加健壮,能够正确处理函数嵌套和复杂表达式。
- 所有函数附魔和命令功能均使用新解析器,计算更准确,支持更广泛的数学表达式。
【English Changelog】
Version 2.6 - Expression parser upgrade:
- Rewrote the mathematical expression parser with support for more functions and flexible syntax.
- New functions added:
abs(absolute value),exp(natural exponential),log(base, value)for arbitrary base logarithms (e.g.log(2, 8)computes log base 2 of 8), andsqrt(root, value)for arbitrary roots (e.g.sqrt(3, 64)computes the cube root of 64). - Supports shorthand
logNnotation, e.g.log2for base-2 logarithm,log10for common logarithm. - Parser is now more robust, correctly handling nested functions and complex expressions.
- All function enchantments and command features utilize the new parser for more accurate calculations and broader mathematical expression support.
2.5Релиз1.21.1 · 7 июля 2026 г.
【中文更新日志】
2.5 版本更新 - 铁砧改名零经验消耗:
- 现在在铁砧中为物品重命名为
f(x)=表达式或y=表达式格式时,经验消耗将直接归零!你可以免费为任意兼容物品赋予函数轨迹,无需消耗等级经验。 - 将附有“数学函数”附魔的附魔书放入铁砧的附加槽中,经验消耗同样归零,方便你自由转移附魔。
- 重命名时,只要名称中包含有效的数学表达式(以
y=或f(x)=开头),系统便会自动识别并免除经验费用。
【English Changelog】
Version 2.5 - Zero anvil cost for function naming:
- Renaming an item to
f(x)=expressionory=expressionformat in an anvil now costs zero experience levels! You can freely give any compatible item function trajectory capabilities without spending any XP. - Placing a "Math Function" enchanted book in the anvil's secondary slot also reduces the cost to zero, making it easy to transfer the enchantment.
- The system automatically recognizes valid math expressions (starting with
y=orf(x)=) and waives the experience cost.
2.4Релиз1.21.1 · 7 июля 2026 г.
【中文更新日志】
2.4 版本更新 - 新增三叉戟激流函数轨迹支持:
- 现在将三叉戟重命名为
f(x)=表达式或y=表达式格式后,使用激流(Riptide)附魔在水中或雨中冲刺时,玩家会沿着数学函数曲线飞行!体验如同乘坐过山车一般的函数飞行。 - 飞行途中按下跳跃键(空格键)可随时停止函数轨迹飞行,立即结束激流状态并恢复下落。
- 三叉戟激流飞行时伴有炫酷的粒子尾迹(烟花、暴击、附魔粒子),视觉效果更加华丽。
- 飞行路径上撞到方块或实体时会自动终止飞行,避免卡入方块内部。
【English Changelog】
Version 2.4 - Added Trident Riptide function trajectory support:
- Rename a trident to
f(x)=expressionory=expression, then use the Riptide enchantment to dash through water or rain — you will fly along the mathematical function curve! Experience function-powered flight like a roller coaster. - Press the jump key (Space) anytime during flight to stop the function trajectory immediately and end the Riptide state.
- Trident Riptide flight features cool particle trails (firework, crit, and enchanted hit particles) for a more spectacular visual effect.
- Automatically terminates flight upon hitting blocks or entities to prevent getting stuck inside.
2.3Релиз1.21.1 · 6 июля 2026 г.
【中文更新日志】
2.3 版本更新 - 弹射物轨迹稳定性优化:
- 修复了所有受函数轨迹影响的弹射物(箭矢、烟花火箭等)在飞行过程中偶尔会受重力影响而偏离函数轨迹的问题,现在所有弹射物都会始终严格贴合设定的数学曲线飞行。
- 确保任何发射角度下,各类弹射物都能准确沿函数路径移动,不再出现下落或上扬的偏差(我们仅修改了不到10行代码就修复了一个bug QAQ)。
【English Changelog】
Version 2.3 - Projectile trajectory stability improvement:
- Fixed an issue where all projectile types affected by the function trajectory (arrows, fireworks, etc.) would occasionally be affected by gravity during flight, causing deviation from the function curve. All projectiles now strictly follow the mathematical path at all times.
- Ensured accurate trajectory alignment for all projectile types regardless of firing angle, with no unexpected drops or rises.
2.2Релиз1.21.1 · 6 июля 2026 г.
【中文更新日志】
2.2 版本更新 - 烟花火箭全面完善:
- 烟花火箭现在可以完美地沿着数学函数轨迹飞行,不会再出现抖动或偏离的问题。
- 当烟花火箭在飞行途中碰到任何方块或生物时,会立刻在碰撞点爆炸,产生绚丽的烟花效果,并对周围生物造成范围伤害。
- 烟花火箭的爆炸效果与原版完全一致,包括粒子特效、音效。
- 整体控制逻辑更稳健,无论发射角度如何,轨迹都能精准贴合函数图像。
【English Changelog】
Version 2.2 - Firework rockets fully polished:
- Firework rockets now fly smoothly along mathematical function trajectories with no jitter or deviation.
- When a firework hits any block or entity during flight, it instantly explodes at the impact point, producing a spectacular firework burst and dealing area damage to nearby creatures.
- The explosion effect is identical to vanilla fireworks, including particles and sound.
- Overall control logic is more robust, ensuring precise trajectory alignment regardless of firing angle.
2.1Релиз1.21.1 · 5 июля 2026 г.
【中文更新日志】
2.1 版本更新 - 弹道运动逻辑全面重写:
- 重写了箭矢、TNT 以及新增的烟花火箭的弹道计算,采用逐帧定位而非速度驱动,使轨迹精确贴合数学函数图像,消除原版因速度累积造成的偏差。
- 引入路径碰撞预检测,每 tick 检查飞行路径上的方块与实体:箭矢碰撞后恢复原版物理(含重力),TNT 碰撞后立即爆炸。
- 根据函数在当前点的切线斜率动态计算弹射物的俯仰角(pitch)和偏航角(yaw),飞行姿态更自然,朝向始终与曲线切线方向一致。
- 调整水平速度(HORIZONTAL_SPEED = 0.3)和轨迹缩放(TRAJECTORY_SCALE = 1.0),使轨迹表现更平滑,避免原版可能出现的跳跃感。
- 修复初始高度 f(0) 的定位逻辑,以发射点(origin)为参考基准,结合水平投影距离计算目标位置,确保不同发射角度下轨迹均正确。
【English Changelog】
Version 2.1 - Trajectory logic completely rewritten:
- Rewrote the trajectory calculation for arrows, TNT, and newly added fireworks, using per-tick position interpolation instead of velocity-driven motion, ensuring precise adherence to the mathematical function curve and eliminating deviations caused by accumulated velocity.
- Introduced pre-collision detection along the flight path; arrows revert to vanilla physics (with gravity) upon collision, and TNT explodes immediately.
- Dynamically sets pitch and yaw based on the tangent slope at each point, resulting in more natural flight attitudes aligned with the curve tangent.
- Adjusted HORIZONTAL_SPEED (now 0.3) and TRAJECTORY_SCALE (now 1.0) parameters for smoother trajectory performance, avoiding the stuttering effect of the previous version.
- Fixed initial height f(0) positioning: now uses the launch origin as reference and computes target positions from horizontal projection distance, ensuring correct trajectories for any firing angle.
Комментарии
Загружаем…