voronoi(6x)

πŸ’– voronoi(6x) πŸ’–

okay bestie, sit down, hydrate, and let me tell you about the iconic little screen saver called voronoi. It draws a randomly-colored Voronoi tessellation, and honestly? it's giving geometry class but make it gorgeous. πŸ¦‹


✨ SYNOPSIS ✨

voronoi [--display host:display.screen] [--visual visual] [--window]
        [--root] [--window-id number] [--points int] [--point-size int]
        [--point-speed ratio] [--point-delay seconds] [--zoom-speed ratio]
        [--zoom-delay seconds] [--fps]

🌸 DESCRIPTION 🌸

So basically: it draws a randomly-colored Voronoi tessellation, and every so often it zooms in and adds new points. Oh and the points that are already there? They wander. Not me romanticizing math but here we are. πŸ’…

Here's the tea: there's a bunch of control points sitting on a plane, and each one is the center of its very own colored cell. Every single pixel inside that cell is closer to that cell's control point than to any other control point. That's literally it, that's what decides what shape each cell gets. main character energy for every pixel ngl. ✨

When it's running in a window, you can click to insert a new point right at the mouse position. And if you click on a point that already exists? Congrats, you get to drag it around. it's giving arts and crafts. πŸŽ€

And the flex? This implementation takes advantage of the OpenGL depth buffer to do the cell math for us, by rendering the intersection of overlapping cones in an orthographic plane. no cap, that's the whole trick. πŸ”₯


πŸ‘‘ OPTIONS πŸ‘‘

  • --visual visual β€” picks which visual to use. Legal values are the name of a visual class, or the id number (decimal or hex) of a specific visual. slay.
  • --window β€” draws on a newly-created window. This is the default. πŸ’–
  • --root β€” draws on the root window.
  • --window-id number β€” draws on the window you specify. iykyk.
  • --points int β€” how many points to add each time we zoom in.
  • --point-size int β€” how big to draw the stars, in pixels. Set it to 0 for no stars.
  • --point-speed ratio β€” how fast the points should wander. Less than 1 for slower, greater than 1 for faster. choose your own adventure bestie.
  • --point-delay seconds β€” how quickly to insert new points, when adding.
  • --zoom-speed ratio β€” how fast to zoom in. Less than 1 for slower, greater than 1 for faster.
  • --zoom-delay seconds β€” zoom in every this-many seconds.
  • --fps β€” display the current frame rate, CPU load, and polygon count. numbers on numbers on numbers. πŸ’€

🌈 ENVIRONMENT 🌈

  • DISPLAY β€” to get the default host and display number.
  • XENVIRONMENT β€” to get the name of a resource file that overrides the global resources stored in the RESOURCE_MANAGER property.
  • XSCREENSAVER_WINDOW β€” the window ID to use with --root.

πŸ¦‹ SEE ALSO πŸ¦‹

X(1), xscreensaver(1)


Copyright Β© 2007 by Jamie Zawinski. Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted without fee, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation. No representations are made about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty.


⭐ AUTHOR ⭐

Jamie Zawinski.


okay that's the whole page, go forth and tessellate. 🫢

X Version 11 β€” this is version 6.17-1.fc44, dated 13-Oct-2026, and that's the cute little footer sign-off from me to you. mwah. πŸ’–

πŸ“¦ where this page comes from