Skip to the content.

 

About

Many computer graphics algorithms use a special data structure to represent and work with polyhedra – Doubly Connected Edge List (DCEL). This structure represents each edge as two half-edges with opposite directions.

Click on the image to start the application.

Alternatively, here are versions in English, Bulgarian and Japanese.

Orientations of all half-edges forming one face of the 3D body is consistent throughout all faces of the body. Typically, when an object is observed from outside, all half-edges form loops in counterclockwise direction as the default positive direction in Mathematics. For each half-edge the DCEL provides function to get the next half-edge from the loop, the previous half-edge from the loop and the corresponding twin half-edge.

The traversal of a DCEL mesh uses these functions. For example, the path from half-edge (1) to half-edge (9) is the following: start (1) → next → (2) → twin → (3) → next → (4) → next → (5) → next → (6) → twin → (7) → previous → (8) → twin → end (9).

How to play

When the application is started it shows Claire standing on a platform. Click on her to open a challenge – a platonic solid and Claire standing in the middle of one half-edge. A floating ring shows a path define with glyphs. Each glyph represents one of the DCEL functions. The goal is to trace the path of Claire as if she walks according to the instructions on the ring and to click on the final side where the path ends.

The glyphs are written left-to-right.

Function Example glyphs Meaning
Start / end A path glyph starts and ends with small dots.
Twin A circle represents walking from the current half-edge to its twin half-edge.
Next Arcs above the line represent walking from the current half-edge to its next half-edge. The number of arcs defines the number of consecutive walks. The directions of arcs’ curvatures are not significant. The example glyphs show single, double and triple walking in counterclockwise direction.
Previous Arcs below the line represent walking from the current half-edge to its previous half-edge. The number of arcs defines the number of consecutive walks. The directions of arcs’ curvatures are not significant. The example glyphs show single, double and triple walking in clockwise direction.

The following images show Claire on a platform (left) and an open challenge with a glyph (right). The glyph defines the following path: start → previous → previous → twin → next → next → next → twin → previous → twin → previous → previous → end. Just for illustration the path is coloured in blue.

Here are a few hints: It might be easier to trace the path step by step, turning the scene in a way that the current end of the path faces you. The ring will always spin to a predefined orientation – if a tree obscures the glyph, spin the scene. Some sequences of glyphs can be eliminated. For example, two consecutive transitions to twins can be ignored, because the twin of a twin is the original half-edge. Also, three consecutive walks to the next half-edge on a triangular side can be ignored too, because walking will end on the same half-edge.

Integration with LMS

This application is provided as SCORM (Sharable Content Object Reference Model) module. It can be used with any LMS (Learning Management System) that supports version SCORM 1.2. SCORM modules are delivered as ZIP archive.

[ Download ZIP ]

Follow the instruction of your LMS on how to install a SCORM module. Usually the ZIP is uploaded and a few additional settings are set.

When run from a LMS, the application reads these data:

When run from a LMS, the application sends back these data:

Data policy

The application itself does not create or use HTTP cookies, web beacons, spy pixels or any other tracking technology. Besides SCORM-related data, described in section Integration with LMS, the application creates a local storage entry called 'sound' with values 'on', 'off' or 'fx'. This entry is used to record user’s sound preference and it is not sent to the server.

When the application is run from a LMS, the LMS may utilize its own data policy, which is beyond the scope and the control of this application.

Disclaimer

The application requires a good level of visual memory and persistent mapping of rotating objects.

Credits

This application uses a model from Mixamo:

a background soundscape from FreeSound:

and sound effects from Mixkit:

November, 2022