问题标签 [simulation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
2392 浏览

performance - 改变圆周运动的速度

我正在寻找一种方法来平滑地增加或减少圆周运动的速度。

使用圆的参数方程,我可以随时间沿圆移动对象:

这种方法的问题是我不能简单speed = speed + 1地加速物体,因为它会导致不平稳的运动。这是有道理的,因为每帧都会根据绝对值而不是相对于对象的先前位置重新计算 x 和 y 值。

另一种方法可能是使用表示对象速度的向量,然后对向量应用圆周运动:

这种方法的问题是,如果我改变速度,那么半径会增大或缩小。这是有道理的,因为运动是相对于当前位置的,所以如果我改变速度,时间基本上会被跳过。

我能想到的一种可能可行的实现是使用从对象指向圆心的向量。然后我可以通过使用垂直向量计算圆在对象位置的切线,对其进行归一化并按速度缩放。我还没有实现这个,因为这样的问题似乎有点矫枉过正,所以如果存在更简单的解决方案,请告诉我。谢谢!

0 投票
2 回答
1058 浏览

simulation - 用 Java 模拟管道系统

我需要用 Java 模拟一个相当复杂的水管系统(2D)。当其他一些管道被阻塞时,我需要能够显示通过一些管道的水流。我可以使用哪些工具包/API?我是图形编程的新手。友善的建议。

谢谢直流

0 投票
1 回答
344 浏览

python - 如何在 Breve Simulator 中为机器人添加摄像头?

我创建了一个基于 braitenberg 车辆的两轮机器人。我们的机器人有两个轮子和一个 PolygonDisk 身体(很像 kepera 和 e-puck 机器人)。我想在机器人前面加一个摄像头。那么问题就变成了如何控制相机以及如何将其指向正确的方向(与机器人相同的方向)。如何使摄像头指向与机器人相同的方向?

0 投票
1 回答
2121 浏览

java - Java 中的 Max-Flow 图模拟

我正在为联赛运动编写Java程序,该程序通过每支球队的当前比赛集和他们下一场比赛的时间表,然后在此基础上制作一个流网络模型。计划的想法是找出哪些球队已经被淘汰并且没有机会赢得或与任何其他球队分享一个位置。在分析网络后(应用 EdmondsKarp 算法。)我发现团队是否被淘汰。现在我也想模拟一下。我使用 JGraphT 作为图形库,并且可能会使用 JGraph 进行可视化(原因:一旦我创建了 JGraphT 对象,我就可以简单地用它们实例化 JGraph 对象并显示图形)。我昨天也发现了Jung框架,看起来不错。

主要问题是我从未编写过模拟程序,而这正是我需要“Hello World”帮助的地方。当我说模拟时,我的意思是我想直观地显示算法执行的每个部分,这里是示例场景:算法必须找到增广路径,所以我想显示每个新边何时添加到增广路径。用户将能够播放和停止动画。我还想展示所有边缘和类似事物的流动变化。到目前为止,我有算法工作,但我不知道如何进行模拟。我应该使用单独的线程进行模拟执行吗?我是否应该编写单独的类,该类将作为算法执行但状态记录甚至不知道真实算法(因为我不想中断真实算法的性能)。我是否应该使用当前算法并在其间添加一些行以保存某些数据结构中的执行状态,以便稍后用于向用户显示模拟?任何想法可能会有所帮助..

0 投票
1 回答
1592 浏览

scala - 如何设计时钟驱动的多智能体仿真

我想为真实的制造过程创建一个多智能体模拟模型来评估一些调度规则。仿真需要生成事件日志,以评估调度规则与真实制造事件日志相比的时间效应。

如何将“当前模拟时间”整合到这种多代理、消息传递密集型模拟中?

背景:
经典的离散事件模拟(可以很好地处理时间提前)不能在这里应用,因为系统中的代理代表相对复杂的行为和路由要求,加上调度规则要求它们经常通信。这种和其他过程的复杂性也排除了集中调度方法。

在制造科学中,有数千篇论文使用多智能体模拟来解决一些与制造相关的问题。但是,我还没有找到一篇论文以所需的细节描述这些模拟的内部工作或实现细节。

不幸的是,在系统中使用最短的处理时间进行离散时间步进可能是不可行的,因为处理时间的范围在 0.1 秒到 24 小时之间。我的模拟有可能用于稍后在项目中的假设评估,因此模拟需要尽可能快地运行 - 没有过夜模拟运行的选项。

问题规模约为 500 个资源和 1000 - 10000 个产品代理,其中大部分已完成,不参与任何进一步的通信或资源占用。

因此,作为通信的结果,新事件可以触发代理在其原始“下一次”事件到达之前做某事。例如,代理当前在持续一小时的资源上被阻止。然而,另一个更高优先级的代理立即需要该资源,并要求第一个代理释放该资源。

从某种意义上说,我需要一种方法来创建经典消息传递代理模拟和离散事件模拟的混合体。

我考虑了一个参与每条消息的中介代理 - 一个消息路由器和时间执行器,它围绕消息和计时器滴答事件发送。中介代理还保留各种代理的下一个事件时间列表。但是,我觉得应该有更好的方法来解决我的问题,因为这个概念给调解人带来了巨大的压力。

更新

花了一些时间,但似乎我设法创建了一个迷你框架并将 DES 和代理概念结合在一起。我敢肯定它不是什么新鲜事,但至少是独一无二的:http ://code.google.com/p/tidra-framework/如果您有兴趣。

0 投票
1 回答
7729 浏览

android - 如何为 Android 构建传感器模拟器?

我正在为 Android 平台构建一个应用程序,我想使用加速度计。现在,我找到了一个非常好的传感器模拟应用程序(OpenIntents 的 SensorSimulator),但是,对于我想做的事情,我想创建自己的传感器模拟器应用程序。

我还没有找到关于如何做到这一点的信息(我不知道反汇编模拟器的jar是否正确),正如我所说,我想构建一个更小更简单的传感器模拟器版本,更适合我的意图。

你知道我可以从哪里开始吗?我在哪里可以看到我需要构建的代码片段是什么?

基本上,我所有的要求只是为了一些方向。

0 投票
7 回答
2388 浏览

language-agnostic - 最易读的编程语言来模拟 10,000 个滑道和梯子游戏?

我想知道哪种语言最适合模拟 Chutes and Ladders(某些国家的蛇和梯子)游戏。我希望收集基本统计数据,例如游戏长度的平均和标准偏差(轮流),基于轮流顺序的获胜概率(谁先玩,谁玩第二等),以及您能想到的任何其他感兴趣的东西。具体来说,我正在寻找最具可读性、可维护性和可修改性的实现。它也需要非常简短。

如果你是一个成年人并且没有花太多时间和小孩在一起,那么你可能不太记得这个游戏。我会提醒你:

  • 棋盘上有 100 个方格。
  • 每个玩家轮流旋转 1-6 的随机数(或掷骰子)。
  • 然后玩家前进那么多格。
  • 一些方块位于梯子的底部;降落在这些方格之一意味着玩家可以爬上梯子,将玩家的位置推进到预定的方格。
  • 一些方块位于滑梯的顶部(滑槽或蛇形);降落在其中一个方格上意味着玩家必须向下滑动,将玩家的位置移回预定方格。
  • 无论哪个玩家首先到达 100 位,都是获胜者。
0 投票
1 回答
406 浏览

c# - 在 C# 中使用 XBOX 360 的基于代理的模拟

使用 XBOX 360 硬件设计 ABS 的最佳方法是什么?我可以遵循我的标准开发框架方法,例如领域驱动设计吗?是否有框架可以在 C# for XBOX 中处理世界创建和更新?关于创建通用模拟的任何好的资源?

0 投票
2 回答
1476 浏览

simulation - 用于网站测试的 WAN 模拟

我正在寻找一种低成本的 WAN 网络模拟软件,用于在生产部署之前测试我的网站。它应具有以下特点
1. 控制带宽。
2.可以插入latency,jitter。
3.也可以做一些丢包(可取)。

任何人都可以建议我免费或低成本的基于 Windows 的软件吗?


提前致谢。

0 投票
3 回答
888 浏览

c# - 爱好应用建议:激光表演编辑器/模拟器

我一直想在这个应用程序上工作大约一年。我想创建一个“激光表演模拟器/编辑器”。我希望能够将灯光放置在舞台上的不同位置,并且我希望能够编写每个灯光来执行各种操作,例如转动、以特定间隔打开和关闭、改变颜色等。真实是不完全是我的意图。我有进一步计划编写一个工具,该工具可以根据可以检测到的某些信息(例如每分钟的节拍数),根据现有音频文件(当然通常是一首歌曲)轻松同步和创作激光表演,等等,例如。

我最初想在 C# 中使用 XNA 来解决这个问题。编辑器当然会包含一些 3D 视口(也许在 Ortho Projection 中),我猜有点像 3D 建模工具,但更像是游戏的关卡设计工具,因为人们可以用它做很多事情将受到限制,例如灯光放置和属性编辑。

问题是我以前从未从事过 3D 编程项目。几年前,我尝试学习 OpenGL(买了很多书,老实说确实读过它们,但那时我是编程新手,一切都没有意义。此外,我对所使用的数学知识也不太了解)。我也确实尝试过学习 Managed DirectX,虽然它似乎更有意义,但我想我没有那么积极地学习它,所以我放弃了。

现在我其实有学习它的理由,所以我会有动力,我相信我现在会理解大部分数学。

但我不知道从哪里开始。我确信这需要我一段时间才能完成,所以我知道要耐心等待。我想知道你们建议我从哪里开始。音频部分我相信我会留到以后。我想基础是渲染引擎和编辑界面,然后是实际的模拟器来播放创建的节目。

由于我无法将所有内容都放在一个问题中,因此稍后当我进入项目的那个领域时,我会提出后续问题。但是,与此同时,我要问的基本一般问题是:

  1. 我应该从哪里开始?我从来没有做过这么大的事情,所以我对这个项目的大量事情感到不知所措,我不明白我应该从什么开始。我知道我会先计划好事情,但我希望至少能得到一个关于从什么开始的提示。我假设它是渲染引擎。

  2. 使用 C# 和 XNA 是个好主意,或者至少可以吗?我对 C# 非常熟悉,几年前我确实尝试过学习 Managed DirectX,我相信这有点相似。而且我熟悉使用 C# 的 .Net 的用户界面创建方面。

  3. 我应该创建自己的渲染引擎还是使用现有的?你推荐哪个?我对创建自己的引擎以便学习并不完全感兴趣。我相信我最终会明白发生了什么,而且我真的不希望渲染方面成为障碍,特别是如果那里已经存在的东西比我在不久的将来可以创造的任何东西都要好. 当然,我还是会尝试学习 XNA;我不会试图忽略它。

谢谢大家,我非常感谢您提供的任何意见。对不起,如果我很模糊。我对细节有想法,但我现在想问一般性问题,给自己一个方向感。再次感谢。

编辑:我想强调的是,我从未从头开始从事过如此大规模的工作。我真的不知道从哪里开始。我从未从事过 3D 编程,也从未从事过编辑器所需的复杂用户界面。正如我过去向自己证明的那样,我确实有学习和做任何与编程相关的事情的动力和动力,但我希望你们能提供任何关于从哪里开始的细节和细节。

例如,你们中的一些人说从渲染引擎开始,但你能提供任何细节吗?有没有足够的免费和/或开源引擎?考虑到我的追求,是否有任何我应该特别关注的 3D 主题?例如,我读过一些激光器可能只是带有着色器的 3D 网格,或者其他东西,我显然不精通 3D 编程。

我不打算购买任何东西,例如渲染引擎,至少在不久的将来。如果我这样做了,那将是一旦我有了一个可以工作的核心/基础。

谢谢你们,除了你们中的一些人已经做过的事情之外,我非常感谢你们提供的任何见解。