CTAN Comprehensive TeX Archive Network

Directory graphics/pgf/contrib/lua-tikz3dtools

README.md

Package Name: lua-tikz3dtools
Package Version: v2.3.0, 2026/01/22
GitHub: https://github.com/Pseudonym321/TikZ-Animations/tree/master1/TikZ/lua-tikz3dtools
Author Name: Jasper Nice

This work is licensed under the Project Public License, version 1.3c or later.

Description:
Lua-tikz3dtools is a toolkit for making 3D illustrations with TikZ. It is specialized for the illustration of properly occluded 3D math illustrations composed of line segments and triangles; for example, this includes tessellates surfaces and curves.

Change Log:
v1.0.0:

  • Robust triangle sorting, rudimentary line segment sorting.
  • Division by zero handling.
  • Clipping of individual planes by rectangular prisms.
  • Geometric vector commands.

v1.1.0:

  • Robust primitive sorting, so long as they do not intersect, and do not cyclically overlap.
  • Arrow tips for curves

v2.0.0:

  • nearly robust clipping

v2.0.1:

  • robust partitioning of tiles which are capable.

v2.1.0: November 22, 2025

  • filterinng of surfaces clipped by planes.
  • partitioning
  • bug involving partitioning in perspective
  • bug involving partitioning into degenerate triangles (edge case)

v2.2.0 November 29, 2025

  • lighting added
  • luatikztdtoolspicture environment added
  • small bug fixes

v2.3.0 January 22, 2026

  • went back to the tikz environment
  • made the code object oriented
  • improved the lighting

Future goals:

  • calculus based automatic sampling of surfaces
  • cyclic overlap eleimination for occlusion

Download the contents of this package in one zip archive (57.5k).

lua-tikz3dtools – Not-so-experimental Lua package for 3D illustrations in TikZ

This package improves on existing 3D capabilities in TikZ. In particular, the package enables z-sorting of multiple triangulated parametric objects and uses elaborate clipping and occlusion logic. The parametric objects are defined using pgfkeys, and endeavor to enable user customization.

All of the 3D math is handled in Lua, and the results are projected onto the 2D TikZ canvas. The user is enabled to use linear, affine and projective transformations on their parametric objects.

Packagelua-tikz3dtools
Repositoryhttps://github.com/Pseudonym321/TikZ-Animations/tree/master1/TikZ/lua-tikz3dtools
Version2.3.0 2026-01-22
LicensesThe Project Public License 1.3c
MaintainerJasper Nice
Contained inTeX Live as lua-tikz3dtools
MiKTeX as lua-tikz3dtools
TopicsGraphics
3D Graphics
Lua
PGF TikZ
...
Guest Book Sitemap Contact Contact Author