Coder Social home page Coder Social logo

rendering-lightning's Introduction

Rendering Lightning

Project Group:

  • Manas Shukla 170050066
  • Debabrata Mandal 170050073

Requirements:

For running threejs application:

  • The project needs a server application runnning.
  • Either of the two packages will suffice:

For running ray tracing application:

  • Eigen library of c++
  • Common tools(g++,make) for compiling c++ code.

[ Rasterization framework ]

Instructions For Running the code

  • Using Webpack Server(Recommended)

    cd code
    # install packages
    npm i
    # start webpack dev server
    npm start
    # note any changes in code will now directly be updated in browser

    Then go to http://localhost:8080/

  • Using Python Http Server

    cd code
    python3 -m http.server 

    Then go to http://localhost:8000/dist/

Models

There are four Model Currently we render:

  • Tesla Coil

    • Tesla Coil
    • ElectroStaticSystem is used to generate arcs. The top of needle has high charge density from where electric discharge occurs.
    • The system uses potential function of negative point charge placed in a sphere of positive charge.
  • Plasma Ball

    • Plasma Ball
    • PlasmaBallSystem is used to generate arcs. Small Blue sphere is the target for arcs. You can hover over glass sphere to change the target. Ray Casting has been used to calculate point on glass sphere.
    • The system uses potential function of negative point charge(center ball) placed in a surrounding of a strong positive charge(blue ball)
  • Electrodes

    • Electrodes
    • ElectrodeSystem is used to generate arcs. We have implemented Paper in Reference 3 to generate arcs between red and blue electrode.
    • Note that arcs are generated from both the electrodes. The difference can be seen more clearly in actual output.
    • The system uses potential function of two opposite charge placed at a distance d apart.
  • Lightning Strike

    • Lightning Strike
    • StormCloudSystem is used to generate arcs. In this bottom we have a charged plane. And top we have a charged sphere. Arcs are generated from sphere to any point in the plane.
    • The system uses potential function of negative point charge placed near a plane with negative charge density.

[ Ray Tracing framework ]

Instructions For Running the code

cd rt
# compile code
make
# run the cornellscene2.xml file(takes some time to complete)
./rt ./scenes/cornellscene2.xml

Then go to scenes folder, there you can find cornellscene2.ppm image created.

Models

For Ray tracing we have done stochastic model for generating arcs.

  • Cornell Scene
  • stochastic_t class implements the stochastic process of generating arcs structure.
  • cylinder_t represents object for representing cylinder.(every arc object can be modelled as a cylinder).
  • cylinder_light_t represents cylinder light source. This will be used to light up the scene(every arc is a cylinderical light source)

References

  1. Main Paper
  2. Optimization Reference
  3. Electrode Simulation
  4. ThreeJs Framework
  5. ThreeJs Fundamentals
  6. GIF Maker
  7. Sound Credits
  8. Stochastic Method
  9. Ray Cylinder Intersection

Presentation Link : https://docs.google.com/presentation/d/1b6mn2sxPl3TzdRBLEK1IDcx9OKzhVzAHQ8gxjFgVZhM/edit?usp=sharing

rendering-lightning's People

Contributors

manas-shukla avatar

Stargazers

KBΓΓR avatar LanFear avatar

Watchers

James Cloos avatar  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.