Spatial Partitioning on a Low Timebase or How to play Pong with 10 fps or Applied Path to Math

After going a bit through C++ basics with my older son, I dived into a Pacman homage to demonstrate basic Euclidian geometry. The whole game logic and details were covered in this blog. Of course, this was too big to digest in whole, so we pulled back and looked at a simple ball in freefall. Continue reading “Spatial Partitioning on a Low Timebase or How to play Pong with 10 fps or Applied Path to Math”

Graph Type Rendering Update 3

Just another little update, the 3rd, see first update and the second one for progress.
Basically one bug within the TypecastRenderer has been fixed, transforming the Glyph into our OutlineShape. Furthermore it may produce Java code to be pasted in a test class to test remaining issues. Continue reading “Graph Type Rendering Update 3”

Graph Type Rendering Update 2

Since my last update, I changed the Type Rendering to produce OutlineShapes in font and resolution independent font em-size units instead of font-units to be divided by unitsPerEm earlier. The UI demos have also been updated and the following screenshots demonstrate Graph UIs potential of its immersive scene UI. Continue reading “Graph Type Rendering Update 2”

Graph Type Rendering Update 1

After releasing JogAmp 2.4.0 (see feature/buglist), it was time to tackle an outstanding issue once again: Type Rendering. Motivation was born again by finding the most interesting feature to use Java with JOGL on Desktop, Mobile and Embedded Devices. At least for my taste, I identified this to be Graph UI,  an immersive UI within the 3D scene including text and UI objects and user interaction. Continue reading “Graph Type Rendering Update 1”

Some late C++/Java Project Experience

Lately we started to discuss JogAmp‘s Project Management a little bit and touched things like efficient Java JNI binding to native foreign functions.

Allow me to elaborate on this issue a little bit (forum copy),  perhaps even go this far to debate down on the metal C++ vs virtual Java performance.

Keep in mind, I am an old dog and always focus on performance and such thing even on the Java side 😉 Continue reading “Some late C++/Java Project Experience”

Chase, Scatter and Phantoms – Sisyphus alike Ghost Fate

Earlier this year, we required a true distraction from the chaos of this world and a sad tragedy in our closer circle. What would have been more rewarding for a little recovery than indulging oneself with game theory, paying homage to Toru Iwatani‘s classic Puckman? Both my sons loved the idea and we added this work to our little cs-class. My older one was eager to learn how the math behind the ghosts works. Euclidian geometry, Pythagoras, points and vectors .. plus the strategy of choosing targets WoW! 😉 We completed the little fun endeavor using C++17 and the SDL2 library, resulting in a working nostalgic re-implementation.

At the bottom of this article I have placed a little video recording, partially demonstrating the results. Continue reading “Chase, Scatter and Phantoms – Sisyphus alike Ghost Fate”

Rational Expressions with frictionless Fractions and implemented Time

Natural numbers are defined as the sequence of numbers fully defined by their initial value, its successor and the successor of its successor and so forth. Despite the beauty of their intrinsic Dedekind–Peano axioms, they are also fully proven by induction.

Continue reading “Rational Expressions with frictionless Fractions and implemented Time”

Identifiable C++ Function Pointer of any kind in Direct-BT (Part 2)

Earlier I started elaborating on Direct-BT C++ implementation details, covering communication channels and data structures suitable for concurrency.

This part shall cover Jaulib’s jau::function<R(A…)>, used to manage callback lists e.g. in BTManager or simply utilizing them to delegate functionality like in jau::service_runner. Continue reading “Identifiable C++ Function Pointer of any kind in Direct-BT (Part 2)”