POV‑Ray Mosaic: brief description

Converting 2D image into mosaic of 3D objects

Proceed to POV‑Ray Mosaic at GitHub

POV‑Ray Mosaic project is a program which read every pixel of source image and convert it into a virtual 3D object, packed side by side with objects created from other pixels, thus forming a grid of 3D-mosaic in POV‑Ray format.

Currently POV‑Ray Mosaic spans all three regular plane partitions for Euclidean tilings, namely 36, 44, and 63.

POV‑Ray Mosaic is free open source Python program, so you can download POV‑Ray Mosaic from GitHub together with detailed help file and numerous presets/extensions. All non-standard modules included into distribution, so program is supposed to work right out of the box with any standard installation of Python 3.11 and above.

POV‑Ray Mosaic is a sort of lab for exploration: while default exported scenes show primitive objects like spheres packed into planar grid, scene description files contain numerous options, grouped into human-editable form, to easily redefine almost anything. For example, built-in ready to use objects, besides primitives, include GSG (i.e., unions or intersections), prisms etc.

Update: Well, I guess a lot can happen to a species in three Drahn, like turning green and evil. And this page was not updated for a long time. But POV‑Ray Mosaic was.

Time-dependent random POV‑Ray mosaic rendering

Besides numerous program updates (including a couple of rewritings from scratch), package was updated with numerous preset includes, including (sorry for a tautology) a couple of concept-illustrating yet funny ones.

For example, above (or may be at the right, depending on your browser opinion) you are supposed to see a sequence of renderings of a single preset. In this preset, prism object geometry is time-dependent and changes every time you press "Render" in POV‑Ray, thus making every rendering unique (isn't it an artist's dream - make all masterpieces unique and follow the time flux?).

It's noteworthy that while prisms with such a presets often become star-like, they still form a seamless pattern without gaps and overlaps.

All preset .inc files are made self-rendering, that is, you may simply add them all to POV‑Ray batch and render some preview of the object defined within this include, thus adding a visual reference to your preset collection. Take into account that object color and finish in such a rendering will be dummy grey and dull, since normally the are overridden by main scene file.

History (in squashed form)

Version

Reason for release

1.26.6.6

Writing acceleration due to improved buffering. General cleanup, improved docstring, many functions moved to private.

1.19.5.19

Autofocus fixed, some calculations moved to POV-Ray to improve scene legibility, etc. General cleanup, improved docstring, many functions moved to private.

1.14.1.0

Rewritten as module.

1.6.12.12

First Production release 12 June 2024.

0.0.4.4

Complete rewriting 4 Apr 2024.

2023 AD

Rewritten to Python.

ca. 2007 AD

Initial AmphiSoft POV Sphere Mosaic plug-in module for Adobe Photoshop, using FilterMeister.

POV‑Ray Mosaic rendering

63zaika default output example

POV‑Ray Mosaic rendering

44zaika output example, object switched from cube to superellipsoid

POV‑Ray Mosaic output scene files contain several predefined 3D objects description, along with finishes and normal modifiers for them. Object properties may be easily mapped to source image pixel brightness via any of predefined transfer functions, or functions you write yourself.

POV‑Ray Mosaic rendering

63zaika output with predefined hexagonal prisms, height mapped to brightness via predefined function.

POV‑Ray Mosaic rendering

44zaika output with cylinders and predefined iridescent finish, rotation mapped to brightness.

Surely you can not only switch between predefined stuff and edit parameters like rotation and size (although this alone will give you numerous combinations), but also insert your own objects, functions and values. The easiest way to do so is using external "preset.inc" patch files which, upon importing into main scene file, will override all previous settings. For example, preset file "44_dice.inc" (included in distribution) for rendering image below is about only 2,51 kb, yet contains both dice 3D object and all necessary "flip" instructions, and may be plugged into your scene with editing just one line.

POV‑Ray Mosaic rendering

Now it's time to download POV‑Ray Mosaic from GitHub...

...or Move back to Dnyarri`s Python freeware main page.