Hi, I am looking for an experienced android developer who has good object oriented design foundations. The task is to take an existing java class, acting as the core engine, and extend it with a few specific functions making for handy interface through which to operate the core engine. After the extended functionality has been implemented, an Android Live Wallpaper Application should be made to demonstrate proof of concept.
The point is to produce a live wallpaper application that can simulate basic 2D fluid dynamics, specifically smoke. Here are examples of smoke behaviours I am looking for. [url removed, login to view]
[url removed, login to view]
Fortunately, the fluid simulation part has already been implemented for you by Memo Akten based on the work by Jos Stam and could be found on Akten’s website (scroll to download section): [url removed, login to view] The documentation for the class is here [url removed, login to view]
The original Jos Stam paper describing the fluid solver algorithm, if interested, is found here: [url removed, login to view]
The requirements are to design handy wrapper functions that will allow for the engine to be used with an Android Live Wallpaper application
The functions should include:
Control fluid properties such as:
Density, Color, Viscosity, Render the particles as smoke.
Create smoke on touch or at a point (which is called adding density)
Interact with the smoke by swiping finger to cause it to move/flow (adding forces to the fluid)
Handy way to set boundaries, in order to define objects with which the fluid will interact. See second youtube link for an example of boundary object interaction.
Set point of origin of fluid flow (for example: a cigarette burning)
Set points where a force will be acting on fluid, if it happens to flow through that area.
Notes: This is a job for an experienced developer. Someone who has worked with fluid simulation before or has experience with particle systems or someone who is a quick learner and can reverse engineer a basic fluid flow implementation based on the materials provided. Refer to Akten’s website for videos of his implementation as well as implementations of Stam’s solver by other people.