C++-FLTK

C++-FLTK programming Compiler, Source code and Tutorial

C++-FLTK programming is is an artificial language designed to express computations that can be performed by a machine, particularly a computer.

Compiler

Download C++-FLTK programming compiler.

Source code

C++-FLTK programming Hello world sample source code.

Tutorial

C++-FLTK programming tutorial.

C++ program (openGL and FLTK) for CIS460 (2007) Highlights of this project: — Ray tracing — Ability to import, transform, duplicate, delete and (re)parent objects — Five shader options — Toggle-able display settings (c) Emily Weihrich

C++ (openGL and FLTK) project for CIS277 (2007) Highlights of this project: — Catmull-Clark subdivision — Selectable points — User friendly camera controls — Toggle-able display features (c) Emily Weihrich and Brittany Fields

Extruder coded in C++, OpenGL and FLTK.
Video Rating: 5 / 5

In this simulation, there are two main bodies – the yellow one masses 5 solar masses, and the white one is the mass of the sun. The remaining 7998 red bodies are all test particles, and are only influenced by the gravity of the two main bodies. The main bodies were initialised to orbit around each other at a distance equal to the radius of Neptune’s orbit, while the test particles were initialised with random positions about the lattice points of a 20x20x20 cube. This time, an individual time step algorithm was implemented. Instead of a constant global time step whereby the entire system would be uniformly advanced, each particle has an individual time step. This individual time is derived from a function of relative acceleration, velocity, and displacement, such that when the a particle is subject to conditions that would lead to sudden changes in velocity or position, the system iterates smaller steps for that particle alone. Conversely, when a particle is far away from other gravitating bodies, it is assigned a large time step. Such a mechanism allows for a balance between allowing the fine detail of a systems interactions to shine through, and computational efficiency. As compared to the video on 2197 bodies, there are fewer bodies that are suddenly thrown away from the system – those in the 2197 body system were most likely due to two bodies approaching each other too closely, resulting in a large acceleration applied over a large constant time step. This is a result
Video Rating: 5 / 5

Coded in C++, OpenGL, and FLTK.
Video Rating: 0 / 5

2197 particles each of mass = (Mass of Sun/10000) were initialised in a roughly cubic 13x13x13 array with edge length = (Radius of Jupiter’s oribt * 1.5). The particles were also initialised to have a random velocity with an rms of 141ms^-1, and a net angular momentum about the z-axis. 2197 particles each of mass = (Mass of Sun/10000) were initialised in a roughly cubic 13x13x13 array with edge length = (Radius of Jupiter’s oribt * 1.5). The particles were also initialised to have a random velocity with an rms of 141ms^-1, but also a net angular momentum about the z-axis. The numerical method used was a 2nd order ‘Leap Frog’, where newtonian gravitational interactions had to be computed 2*N(N-1) times for each of the N bodies – an N^2 problem. Future refinements would be implementing a 4th order Hermite algorithm which would achieve greater precision while only computing gravitational interactions the same number of times as the ‘Leap Frog’ method. The step size was chosen to be 10 days as the inevitablity of close approaches meant that iterations smaller than 10 days did not significantly improve upon the overall appearance of long-term evolution. At an average rate of computation of 1.7 iterations per second, this simulation of 20000 iterations took about 3 hours to compute, and produced 1.7GB of data. Current machine precision is fairly limited as particle quantities are stored as 8byte floating point numbers (a double) but as the algorithm used hardly approached

Movie loop from an interactive computer graphics program to demonstrate the gallery installation of “Botty Suzy” providing an interactive simulation of the projection of her metaphysical symbol. The Steel, rotating “C-Arm”, mounted on the gallery wall, has at its “image plane” a tablet computer. A rotational shaft encoder at the axis of the “C-Arm” transmits the current angle of the “C-Arm” to the tablet computer via an Arduino USB device. A program, written in Processing displays the pre-recorded, digital X-Ray image on the tablet computer screen, which corresponds to the current angle of rotation of the “C-Arm” and angle of projection through “Botty Suzy”. The interactive, pre-visualization mock-up for the physical gallery installation is written in C++ using the FastLight ToolKit (FlTk), the Graphics Language Utility ToolKit (GLUT) and Coin3D, the currently, truly open-source continuation of Silicon Graphics Inc. (SGI) Open Inventor. The program currently runs on MacOS-X version 10.4 for PowerPC.

By programming on October 16, 2010 | C++-FLTK | A comment?
Tags: , , , , ,