- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在尝试将半逼真的水添加到基于图 block 的 2D 平台游戏中。水必须表现得有点逼真,压力模型完全在本地运行。 (IE。只能使用来自它附近单元格的数据)由于我的游戏的性质,需要这个模型,你不能确定你需要的数据不在不在内存中的区域内。
到目前为止,我已经尝试过一种方法,但我无法对其进行足够完善以适应我的约束条件。
对于该模型,每个单元格都可以轻微压缩,具体取决于上述单元格中的水量。当细胞的含水量大于正常容量时,细胞会尝试向上膨胀。这创建了一个相当不错的模拟,有时会很慢(不是滞后;水的变化需要一段时间才能传播。)。当我试图将它实现到我的引擎中时,我发现我的局限性缺乏它工作所需的精度。如果您愿意,我可以提供更深入的解释或指向原始概念的链接。
我的约束:
我使用的语言是 C#,但我可能会使用其他语言并将其翻译成 C#。
问题是,任何人都可以给我一个水的压力模型,尽可能符合我的限制条件吗?
最佳答案
采用不同的方法怎么样?
忘掉 float 吧,从长远来看,这会带来舍入问题。相反,一个单位的水怎么样?
每个细胞都含有一定数量的水。每次迭代,您将单元格与其 4 个邻居进行比较,并移动水单位数差异的 10%(更改此值以改变传播速度)。映射函数将水的单位转换为水位。
为避免计算顺序问题,请使用两个值,一个用于旧单位,一个用于新单位。计算所有内容,然后将更新后的值复制回来。 2 个整数 = 每个单元格 8 个字节。如果你有一百万个单元格,它仍然只有 8mb。
如果您实际上是在尝试模拟波浪,您还需要存储流量 --4 个值,16 MB。要制作波浪,请给流量增加一些惯性——在计算出所需流量后,然后将之前的流量移动到所需值的 10%。
关于c# - 基于细胞的液体模拟 : Local pressure model?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6109490/
我正在 iPad2 上的高内存压力下测试应用程序。我正在循环创建一系列 pdf 页面并在 Xcode 中进行调试,我看到内存在增长。 我已经实现了应用程序和 Controller 相关的功能(didR
我在使用 Maven 时遇到一个问题,在我的项目 A 中,库 com.google.guava 在多层传递依赖项中被引用了大约六次.几乎所有这些依赖项都需要古老的版本 18.0。 我已经编写了另一个依
通读Tess Ferrandez' Blog关于垃圾收集,她说收集有 3 种可能的原因: When you allocate a new object and the generation 0 bud
所以我对 C 编程非常陌生,我被要求编写一个程序来计算内燃机气缸的平均有效压力。 我得到: MEP = (66,000 * HP)/(L * A * RPM) A = (pi * D^2)/4(圆柱体
我正在尝试将半逼真的水添加到基于图 block 的 2D 平台游戏中。水必须表现得有点逼真,压力模型完全在本地运行。 (IE。只能使用来自它附近单元格的数据)由于我的游戏的性质,需要这个模型,你不能确
提前感谢您的帮助。我对我遇到的问题有点困惑。我正在使用 react 和 canvas 在 chrome 中开发一个网络应用程序。这个问题似乎是压力笔输入的 PointerEvent 问题。 问题:当我
Development.apk->“指针位置”日志: 03-02 17:22:28.050: I/Pointer(24911): Pointer 1: DOWN (400.0, 700.0) Pres
我做以下所有事情的原因:我有一个 GPS 跟踪应用程序,它应该全天在后台运行。当我将应用程序置于后台时,内存使用量不会下降。当应用程序进入后台时, View 似乎不会从内存中删除...这就是为什么应用
我正在使用 AVAudioUnitSampler 播放一些 midi 声音,我加载了一个 soundfont 并成功地使用了开始音符、停止音符和应用弯音 midi 命令。我现在正尝试合并 AVFoun
我正在使用 Xcode 开发 iOS 应用程序。早些时候我让它启动并运行,直到达到有限的功能水平。然后出现编译失败,声称未修改的样板生成的代码有语法错误。将源代码复制到新项目中会遇到不同的问题。 现在
我玩过一点 Rx,但仍然认为自己对这个世界来说是个新手。我有一个问题,我想知道我是否可以通过 Rx 解决它。我最初的用例是在 C# 中,但以后可能希望在 JS 中使用相同的用例(尽管如果答案中有任何代
我正在制作一个应用程序,用户可以打开苹果 map 来获取方向,该应用程序在模拟器上运行完美,但是当我在我的 iPhone 4s(插入计算机)上运行它并通过我的应用程序打开苹果 map 时,我的计算机显
如何在代码中解决这个问题? 这很奇怪,因为我在代码中找不到它,但 Firefox 提示“MouseEvent.mozPressure 已被弃用。请改用 PointerEvent.pressure。”在
我正在我的 Nexus 7 平板电脑的“Chrome”浏览器上做一些测试,并在触摸事件提供的触摸对象中发现了奇怪的 webkitForce 属性。 果然,它似乎是一个标量,通常设置在大约 0.05 和
我附上了下面的图片,它是 iPhone Simulator 硬件选项的截图,我是 Xcode7.3.1 的新手,并且想知道 当禁用的选项(如强制触摸压力、已注册触摸 ID、显示 Apple TV Re
目前我正在构建一个应用程序,它基本上是我的 Virus TI 合成器的合成器 Controller 。该病毒允许使用 MIDI CC 消息设置它的大部分参数。使用 Audiokit 非常简单: mid
有什么方法可以使用 javascript 识别笔压。最好我不想使用任何 Flash 并尝试将其作为纯 JS 完成。 编辑:好吧,我意识到 Wacom 数位板是有可能的,因为它们带有可以与它们的 jav
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topi
这个问题我在网上想澄清了一段时间没有成功,所以我会试着在这里问一下。 我想找到一些资源或示例,其中展示了如何构建端到端的完全背压 REST 服务 + 客户端。我的意思是,我希望看到,给定一个实现 Re
我正在使用 netty 开发应用程序,它将通过 TCP 监听特定端口。一旦接收到字节,我就有了一个带有业务逻辑的管道来运行接收到的字节。该管道由多个 channel 处理程序组成,如 header 解
我是一名优秀的程序员,十分优秀!