标签: simulation

什么是物理建模的最佳语言?

我已经离开了造型业,可以说,现在已经有一段时间了.当我在大学时,我使用的大多数模型都是用FORTRAN编写的,我从来不喜欢它.我正在寻求回归科学,所以我想知道是否有适合这种应用的功能集的现代语言.你认为什么是模拟复杂物理系统的最佳语言?

simulation language-features modeling physics

10
推荐指数
3
解决办法
9588
查看次数

Python的波浪模拟

我想在三维空间中模拟一些具有吸收和反射的传播波.我想用python做.我应该使用numpy吗?我应该使用一些特殊的库吗?

我该如何模拟波浪?我可以使用波动方程吗?但是,如果我有反思怎么办?有更好的方法吗?我应该用矢量吗?但是当光线发散时,强度会降低.难.

提前致谢.

python simulation physics numpy wave

10
推荐指数
1
解决办法
1万
查看次数

JavaScript中的流量模拟入门

我将在接下来的几个月里提出很多问题.对于我的九年级科学博览会项目,我想创建一个交通模拟器,以测试互连的交通信号灯是否可以增加交通流量.我有几个通用的问题,我需要帮助...

  • 我怎么代表道路?
  • 我怎么让汽车沿路走?
  • 我如何制作汽车开关车道或道路?

我不是在寻找具体的代码,只是很好的指针和资源来帮助我开始.任何帮助表示赞赏,C.Ruhl.

PS我只是在高中所以没有高级数学符号请:)

javascript simulation simulator

10
推荐指数
2
解决办法
3693
查看次数

Kotlin使用运行时断言进行空检查 - 性能开销?

我正在考虑使用Kotlin进行仿真框架,并注意到编译器为每个可以从java访问的方法交织静态checkParameterIsNotNull调用.每次运行此方法时,通过访问(并转储?)调用堆栈,检查方法参数是否为空.现在在典型的模拟框架中,运行次数可能达到数百万,我想知道这种功能对性能的影响.

如果可以选择将其关闭?

simulation performance kotlin

10
推荐指数
1
解决办法
1122
查看次数

流体模拟边界和平流

这种流体模拟基于Stam论文.在第7页,他描述了平流背后的基本思想:

从两个网格开始:一个包含上一个时间步长的密度值,另一个包含新值.对于后者的每个网格单元,我们通过速度场向后追踪单元的中心位置.然后,我们从先前密度值的网格线性插值,并将此值分配给当前网格单元格.

Advect代码.两个密度网格是dd0,u并且v是速度分量,dt是时间步长,N(全局)是网格大小,b可以忽略:

void advect(int b, vfloat &d, const vfloat &d0, const vfloat &u, const vfloat &v, float dt, std::vector<bool> &bound)
{
    float dt0 = dt*N;
    for (int i=1; i<=N; i++)
    {
        for (int j=1; j<=N; j++)
        {
            float x = i - dt0*u[IX(i,j)];
            float y = j - dt0*v[IX(i,j)];
            if (x<0.5) x=0.5; if (x>N+0.5) x=N+0.5;
            int i0=(int)x; int i1=i0+1;
            if (y<0.5) …
Run Code Online (Sandbox Code Playgroud)

c++ simulation interpolation fluid-dynamics

10
推荐指数
1
解决办法
672
查看次数

如何在 MATLAB 中矢量化随机游走仿真

我正在 MATLAB 中重写一个 Monte Carlo 仿真模型,重点是可读性。该模型涉及许多粒子,表示为 (x,y,z),它们在具有特定终止概率的一小组状态上随机游走。与输出相关的信息是在给定状态终止的粒子数。

模拟需要足够的粒子,单独为每个粒子运行它的成本高得令人望而却步。矢量化似乎是从 MATLAB 中获得性能的方法,但是有没有任何惯用的方法可以在 MATLAB 中创建此仿真的矢量化版本?

我正在用头撞墙来完成这个 - 我什至尝试创建一个 (nStates x nParticles) 矩阵来表示每个粒子状态组合,但是这种方法在可读性方面很快就会失控,因为粒子从状态反弹相互独立地陈述。我应该硬着头皮改用更适合这个的语言吗?

simulation matlab markov-chains vectorization montecarlo

9
推荐指数
1
解决办法
4014
查看次数

如何在iOS上廉价模拟水?

首先,我没有想到这一点.

我想知道如何在iPhone上的一些沙丘上进行简单的瀑布模拟.

原来,几个人解决问题流水,和GameDev已经接近主意几个.然而,所有这些解决方案似乎都是计算密集型的(并且它是有道理的,因为水是流体并且流体力学很复杂).我感兴趣的快捷方式,因为它并不真正重要的模拟准确的,但只是它似乎是准确的.

有人询问使用1500粒子在DirectX上使用(Navier-)Stokes进行模拟.他说他的结果是锯齿状的.当然,在iPhone上它将是一个OpenGL ES实现这样的东西.

另一个好的灵魂尝试使用Chipmunk的物理引擎,但听起来像使用战斗机来杀死蚊子,它仍然带来了许多很多粒子的问题.所以我现在想知道使用类似于这种压力管理技术的技术是否合理 ,以便管理流体的宏观状态,并用粒子管理边缘,以便最小化总计算.

如果您有好主意,请提出建议.

编辑08/06/2015:我在Thimbleweed Park博客中找到了这个由Joseph Huckaby 在HTML5中完成的非常古老技术的典范.它只是在情况上是相关的,因为它完全是关于物理的外观,而不是关于物理,但为什么不大致模拟流体,并用调色板循环效果覆盖"液体区域"?当然,由于该技术更多地依赖于艺术元素,因此它在艺术家领域中移动了难度.然而,渲染代码在混合时有点密集.

iphone simulation waterfall

9
推荐指数
1
解决办法
2520
查看次数

Python替代Java applet?

是否有替代方法可以为物理模拟制作教育Java小程序,如弹丸运动,重力等?

python java simulation physics

9
推荐指数
3
解决办法
9191
查看次数

深度优先搜索 - 2D游戏地图

我创建了一个2D迷宫,我想找到红色 - 蓝色节点之间最快的路径.我不确定如何实施深度优先搜索.我知道可以使用邻接矩阵或列表来表示节点之间的连接.虽然,我不确定如何构建它.

为简洁起见:我需要返回一个列表,其中搜索了瓷砖坐标(当寻找目标节点时),因此我可以在迷宫上描绘搜索.或者我将如何为此构建一个邻接矩阵?和相应的顶点列表?

深度首先搜索一般结构

  1. 访问节点(单元格)(将访问标志更改为true)
  2. 推送到堆栈
  3. 获取未访问的顶点(peek stack)如果没有(pop stack) - 更新迷宫模型视图

重复1 - 3直到堆栈为空

这是迷宫类的当前代码.

public class Maze {

    //Tile ids
    public static short OBSTICLE = 0;
    public static short START_LOC_VALUE = -2;
    public static short GOAL_LOC_VALUE = -3;

    private int rows, cols;
    private int numTiles;
    private int[][] map;
    private int[][] adjMatrix;
    private Queue theQueue; 

    public Maze(int rows, int cols){
        this.rows = rows;
        this.cols = cols;

        theQueue = new Queue();

        numTiles = rows*cols;

        map = new int[rows][cols];
        adjMatrix …
Run Code Online (Sandbox Code Playgroud)

java algorithm simulation

9
推荐指数
1
解决办法
7468
查看次数

部分填充多边形网格的算法

概述:
我有一个由3D多边形网格表示的简单塑料沙箱.我需要能够在将特定量的水倒入沙箱后确定水位.

  • 浇注时,水从上方均匀分布
  • 没有流体模拟,水浇得很慢
  • 它需要快速

问题:
我可以使用哪种技术/算法来解决这个问题?

多边形网格代表一个简单的沙箱

我不是在寻找能够做到这一点的程序或类似程序,只是算法 - 我会做实现.

theory algorithm simulation 3d geometry

9
推荐指数
1
解决办法
1447
查看次数