GithubHelp home page GithubHelp logo

lkampoli / 2dflowvisualization Goto Github PK

View Code? Open in Web Editor NEW

This project forked from andresbejarano/2dflowvisualization

0.0 0.0 0.0 707 KB

A 2D flow visualization tool based on LIC and RK4. Developed using C++ and VTK.

C++ 100.00%

2dflowvisualization's Introduction

2D Flow Visualization

A 2D flow visualization tool based on Line Intergral Convolution (LIC) and Runge-Kutta 4 (RK4). Developed using C++ and VTK.

Instructions

After executing the program a console window will open asking for the vector file to be loaded. Type 1 for the circle data, or 2 for the wind data. Next, the program asks for the value of L (the length of the streamlines). Finally, the program asks for the value of h (the step value for the Runge-Kutta algorithm). The program generates a vector field visualization image of 300 x 300 pixel. For each pixel in the generated image it is interpolated the respective 2D vector from the original data. Such vector is obtained using Bilinear Interpolation. For finding the streamlines it is implemented the Runge-Kutta (RK4) algorithm. Finally, a Gaussian kernel is applied to the streamlines during the Line Integral Convolution method for the vector field visualization image. The overall method is described in Imaging Vector Fields Using Line Integral Convolution by Cabral and Leedom.

Observation

It is observed that as h increases there is a visual "granularity" effect in the image. This is caused by the gaps left by the RK4 algorithm while finding the streamlines, which means that some pixels were not considered for any streamline in the image. Additionally, it is observed that by increasing L there is a better definition of the streamlines; however, it increases the image generation time considerable since longer streamlines are being searched.

Requirements

The program requires VTK. Please download it, compile and install before running this program.

2dflowvisualization's People

Contributors

andresbejarano avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.