https://www.alanzucconi.com/2018/03/14/how-to-install-fakeapp/
Aug 23, 2024 - This online tutorial will teach you how to make the most of FakeApp, the leading app to create deepfakes. If you are interested in learning how to use it...
alan zucconiinstallfakeapp
https://www.alanzucconi.com/2016/02/17/unity-tips-1/
Aug 23, 2024 - Learn the most useful tips to make the most out of Unity.
alan zucconiunitytips
https://www.alanzucconi.com/2015/08/19/how-to-hack-any-ir-remote-controller/
Aug 22, 2024 - Learn how to hack any IR remote. All you need is an Arduino and an IR receiver.
ir remotealan zucconihackcontroller
https://www.alanzucconi.com/2016/04/20/evolutionary-computation-3/
Aug 23, 2024 - Learn how evolutionary computation works, and how you can apply it to solve real life problems.
evolutionary computationalan zucconipart
https://www.alanzucconi.com/2018/03/14/understanding-the-technology-behind-deepfakes/
Aug 24, 2024 - This online course explains the theory behind face-swap technology. In particular, how DeepFakes are made, and how you can improve them.
alan zucconiunderstandingtechnologybehinddeepfakes
https://www.alanzucconi.com/tutorials/
Sep 4, 2025 - Game Development, Machine Learning, Programming and Electronics. Browse all the tutorials.
alan zucconitutorials
https://www.alanzucconi.com/2016/04/13/evolutionary-computation-2/
Aug 23, 2024 - In the first part of this tutorial we have explored what evolutionary computation is, and why it works. The rest of this tutorial will show how to set up a...
evolutionary computationalan zucconipart
https://www.alanzucconi.com/2022/07/24/kalman-filter-3/
Aug 23, 2024 - This tutorial teaches how to derive linear models for your Kalman filters. This is critical if you want to use sensor data in your projects.
alan zucconimodellingkalmanfilters
https://www.alanzucconi.com/2018/08/18/shader-showcase-saturday-6/
Sep 10, 2018 - Learn how to create realistic, dynamic snow using shaders. If you are developing a Unity game, this tutorial is perfect for you.
alan zucconishadershowcasesaturdaydynamic
https://www.alanzucconi.com/2019/07/03/interactive-map-02/
Aug 24, 2024 - This is the second part of the online course dedicated to interactive maps. This is a tutorial in three parts: A link to download the Unity package for this...
interactive mapalan zucconishaderscrollingeffect
https://www.alanzucconi.com/2024/04/17/minecraft-plugin-development/
Aug 23, 2024 - Learn how to develop and deploy a Minecraft plugin for a Paper server, using the Bukkit API.
plugin developmentalan zucconiminecraft
https://www.alanzucconi.com/2021/05/24/accessibility-in-videogames/
Aug 23, 2024 - With over two billion people in the world living with a disability, accessibility in videogames is a subject you can no longer ignore.
alan zucconiaccessibilityvideogames
https://www.alanzucconi.com/2018/09/17/shader-showcase-saturday-10/
Oct 21, 2018 - Learn how to recreate some of the best looking effects seen in Fortnite. This tutorial will guide you through all the steps necessary to re-implement...
alan zucconishadershowcasesaturdayfortnite
https://www.alanzucconi.com/2020/03/30/mathematics-epidemics/
Aug 24, 2024 - This online course teaches the Mathematics of Epidemics. This is the perfect resource to learn how to model the spread of disease mathematically.
alan zucconimathematicsepidemics
https://www.alanzucconi.com/2015/11/01/interactive-graphs-in-the-browser/
Aug 23, 2024 - Learn how to create interactive graphs in the browser, using Python and JavaScript.
alan zucconiinteractivegraphsbrowser
https://www.alanzucconi.com/2016/01/06/colour-interpolation/
Aug 23, 2024 - Leanr how to master colour interpolation with this tutorial. Perfect for web developers and programmers.
alan zucconisecretscolourinterpolation
https://www.alanzucconi.com/2021/01/24/colour-curve-correction/
Aug 24, 2024 - Learn how to correct colour curves using one of the most powerful mathematical tools: linear interpolation.
alan zucconicolourcurvecorrection
https://www.alanzucconi.com/2016/01/20/exoplanet-catalogue/
Aug 29, 2025 - Since 1988 over 4,300 exoplanets have been discovered. Check them all in this interactive catalogue.
alan zucconiexoplanetcatalogue
https://www.alanzucconi.com/2015/06/28/fur-shading-in-unity3d/
Aug 23, 2024 - To view this content, you must be a member of Alan Zucconi's Patreon at $5 or more Unlock with PatreonAlready a qualifying Patreon member? Refresh to...
alan zucconifurshading
https://www.alanzucconi.com/2019/04/16/sprite-doodle-shader-effect/
Aug 24, 2024 - This online course will teach you how to recreate a popular sprite doodle effect using Shaders in Unity. If this is an aesthetic that you want in your game,...
alan zucconispritedoodleshadereffect
https://www.alanzucconi.com/2023/02/11/the-rise-of-ai-art/
Aug 23, 2024 - Over the past ten years, Artificial Intelligence (AI) and Machine Learning (ML) have steadily crept into the Art Industry. From Deepfakes to DALL·E, the...
ai artalan zucconirise
https://www.alanzucconi.com/2021/08/21/sunrise-sort-3/
Aug 23, 2024 - The Sunrise Sort is a sorting algorithm with a unique property: it is fully unstable. Learn when and why this can be useful.
alan zucconisunrisesortforgottenalgorithm
https://www.alanzucconi.com/2018/05/02/ik-2d-1/
Aug 24, 2024 - Learn how to harness the power of procedural animations using Inverse Kinematics for 2D games. This Unity tutorials covers everything needed!
inverse kinematicsalan zucconipart
https://www.alanzucconi.com/2015/12/16/color-blindness/
Aug 23, 2024 - Learn how to design your game to be accessible to color blind users. This tutorials contains a filter to simulate color blindness in your Unity games.
color blindnessalan zucconiaccessibilitydesign
https://www.alanzucconi.com/2019/07/03/interactive-map-shader-terrain-shading/
Aug 24, 2024 - This is the third part of the online course dedicated to interactive maps. This is a tutorial in three parts: A link to download the Unity package for this...
interactive mapalan zucconishaderterrainshading
https://www.alanzucconi.com/2016/07/01/ambient-occlusion/
Aug 23, 2024 - This tutorial continues our journey into the fascinating subject of volumetric rendering. This time, we will cover how to simulate ambient occlusion. You can...
alan zucconirenderingambientocclusion
https://www.alanzucconi.com/2019/10/08/journey-sand-shader-6/
Aug 24, 2024 - This is the sixth part of the online series dedicated to Journey Sand Shader. In this final post, we will recreate the typical sand ripples that appear due to...
alan zucconijourneysandshaderripples
https://www.alanzucconi.com/2017/07/15/improving-the-rainbow-2/
Aug 21, 2024 - Learn how to create physically based rainbow pattern in Unity and WebGL. Convert wavelengths from the visible spectrum into RGB colours.
alan zucconiimprovingrainbowpart
https://www.alanzucconi.com/2022/07/24/kalman-gain/
Aug 24, 2024 - This tutorial shows the complete derivation of the Kalman Gain, a critical quantity at the heart of every Kalman Filter.
kalman filteralan zucconimathematics
https://www.alanzucconi.com/2017/07/15/cd-rom-shader-1/
Aug 23, 2024 - This step by step tutorial for Unity allows you to recreate the rainbow reflections that appears on CD-ROMs and other surfaces. Code and models included.
alan zucconicdromshaderdiffraction
https://www.alanzucconi.com/2021/06/15/valve-flickering-lights/
Aug 20, 2024 - For almost 25 years, Valve has been using the same flickering light effect in most of their games. Learn how it works, and how to use it!
alan zucconisecretbehindvalvelights
https://www.alanzucconi.com/2017/10/10/atmospheric-scattering-3/
Aug 24, 2024 - This post introduces the Mathematics of Rayleigh Scattering, which is the optical phenomenon that causes the sky to appear blue.
alan zucconimathematicsscattering
https://www.alanzucconi.com/2016/04/27/evolutionary-computation-4/
Aug 23, 2024 - Learn how evolutionary computation works, and how you can apply it to solve real life problems.
evolutionary computationalan zucconipart
https://www.alanzucconi.com/2015/08/12/how-to-survive-your-first-game-exhibition/
Aug 23, 2024 - Learn how to survive your first game exhibition. Whether you'll be showing your game or just attending, this is the post for you!
alan zucconisurvivefirstgameexhibition
https://www.alanzucconi.com/2022/03/23/fictional-languages/
Aug 23, 2024 - Let's discuss how fictional languages fit into world building. From The Sims' Simlish to the complex language of TUNIC.
world buildingalan zucconifictionallanguages
https://www.alanzucconi.com/2017/12/13/gpu-sorting-2/
Aug 23, 2024 - You can read the full series here: You can find a link to download the Unity source code at the end of this tutorial. Introduction In the previous part of this...
alan zucconigpusorting
https://www.alanzucconi.com/2018/09/02/shader-showcase-saturday-8/
Sep 10, 2018 - Learn how to simulate subsurface scattering to create photorealistic marble statues, wax candles and skin. If you are developing a Unity game, this tutorial is...
alan zucconishadershowcasesaturdaysubsurface
https://www.alanzucconi.com/2016/12/29/fading-sprites-unity-5/
Aug 21, 2024 - This tutorial shows how to extend the class SpriteRenderer to support efficient fading transitions in Unity. Learn how to use this technique in your games.
alan zucconifadingspritesunity
https://www.alanzucconi.com/2017/03/13/understanding-geographical-coordinates/
Aug 24, 2024 - Latitude and Logitude are the standard ways to manipulate Geographical Coordinates. This essential tutorial explains how to use them for geolocalisation.
alan zucconiunderstandinggeographicalcoordinates
https://www.alanzucconi.com/2017/07/15/improving-the-rainbow/
Aug 23, 2024 - Learn how to create physically based rainbow pattern in Unity and WebGL. Convert wavelengths from the visible spectrum into RGB colours.
alan zucconiimprovingrainbowpart
https://www.alanzucconi.com/2016/06/27/brexit/
Aug 23, 2024 - Brexit: what are and what will be the consequences for the gaming industry, from the perspective of an independent developer?
alan zucconibrexitreallymeansindependent
https://www.alanzucconi.com/2016/04/06/evolutionary-coputation-1/
Aug 23, 2024 - Learn how evolutionary computation works, and how you can apply it to solve real life problems.
evolutionary computationalan zucconipart
https://www.alanzucconi.com/2022/04/19/edge-detection/
Aug 23, 2024 - This step-by-step tutorial shows how to perform edge detection in Unity. This is perfect for topographical maps and unique aesthetics.
edge detectionalan zucconimapsunity
https://www.alanzucconi.com/2018/07/28/shader-showcase-saturday-3/
Aug 20, 2024 - Learn how to create realistic, interactive grass that reacts to wind and player movements. If you are developing a Unity game, this tutorial is perfect for you.
alan zucconishadershowcasesaturdayinteractive
https://www.alanzucconi.com/2016/03/09/simulate-smoke-with-shaders/
Aug 23, 2024 - This tutorial will teach you how to simulate realistic smoke in Unity, using only shaders. Full code and a detailed explanations are provided.
alan zucconisimulatesmokeshaders
https://www.alanzucconi.com/2015/07/15/deepdreamthis-2/
Aug 23, 2024 - A practical guide to create your own deepdream on Twitter. Fast, free and with lot of styles available. Can also generate GIFs!
alan zucconitwitter
https://www.alanzucconi.com/2015/09/30/colour-sorting/
Aug 23, 2024 - Sorting colours is a surprisingly challenging task. This tutorial will explain how you can do it. Code and images provided.
alan zucconiincrediblychallengingtasksorting
https://www.alanzucconi.com/2016/03/23/scene-management-unity-5/
Aug 23, 2024 - This tutorial shows how the manage scenes and levels in Unity 5.3, with the introduction of UnityEngine.SceneManagement. Introduction It took Unity more than 5...
alan zucconiscenemanagementunity
https://www.alanzucconi.com/2017/04/06/implementing-forward-kinematics/
Aug 21, 2024 - Learn how to implement Forward Kinematics in Unity. Code and Unity package provided. This post is part of a series on Inverse Kinematics.
alan zucconiimplementingforward
https://www.alanzucconi.com/2017/10/10/atmospheric-scattering-6/
Aug 23, 2024 - You can find all the post in this series here: You can download the Unity package for this tutorial at the bottom of the page. Intersecting the Atmosphere As...
alan zucconiatmosphere
https://www.alanzucconi.com/2016/09/17/how-to-destroy-an-arduino-board/
Aug 22, 2024 - This tutorial shows the most common ways you can accidentally destroy an Arduino board. And how to avoid it.
alan zucconidestroyarduinoboard
https://www.alanzucconi.com/2020/08/03/floating-point-arithmetic/
Aug 23, 2024 - Learn about floating-point arithmetic in C#, and how this way of representing numbers can have unexpected consequences in your programs and games.
floating pointalan zucconiintroductionarithmetic
https://www.alanzucconi.com/2016/11/07/shadergui-custom-material-inspectors-unity-5/
Aug 21, 2024 - This tutorial explains how to create custom inspectors for your shaders and materials in Unity 5. Learn how to harness the power of the ShaderGUI class.
alan zucconicustommaterialinspectorsunity
https://www.alanzucconi.com/2023/07/06/unity-3d-to-4d/
Aug 23, 2024 - This article will show how to extend Unity to support four-dimensional geometry. This is the second article in a series of four, and the first one which will...
alan zucconiunityextending
https://www.alanzucconi.com/2019/07/03/interactive-map-01/
Aug 24, 2024 - This online course is dedicated to interactive maps, and how to create them using Shaders in Unity. This is a tutorial in three parts: This effect will serve...
interactive mapalan zucconishadervertexdisplacement
https://www.alanzucconi.com/2016/10/02/3d-printer-shader-effect-part-2/
Aug 23, 2024 - This tutorial shows how to replicate the iconic 3D printer shader effect, seen in games like Planetary Annihilation and Astroneer.
alan zucconiprintershadereffectpart
https://mastodon.gamedev.place/@AlanZucconi
198 Posts, 50 Following, 3.46K Followers · Director of Studies & Senior Lecturer at Goldsmiths, UoL • Science Communicator • Machine Learning •...
alan zucconimastodongamedevplace
https://www.alanzucconi.com/2019/10/08/journey-sand-shader-5/
Aug 24, 2024 - This is the fifth part of the online series dedicated to Journey Sand Shader. In this fifth post, we will recreate the shimmering reflections that are...
alan zucconijourneysandshaderglitter
https://www.alanzucconi.com/2017/08/30/fast-subsurface-scattering-1/
Aug 23, 2024 - Learn to implement Subsurface Scattering in Unity. This technique is fast and allows to render even more realistic materials such as skin, wax and marble.
alan zucconifastsubsurfacescatteringunity
https://www.alanzucconi.com/2015/07/22/how-to-snap-to-grid-in-unity3d/
Aug 23, 2024 - Add snap to grid in Unity. Free and easy to customise.
alan zucconisnapgrid
https://www.alanzucconi.com/2020/03/30/simulating-epidemics/
Aug 24, 2024 - This online course teaches you how to use Unity and C# to simulate the evolution of diseases. Perfect to create your own pandemic simulator.
alan zucconiepidemics
https://www.alanzucconi.com/2020/07/30/atmospheric-scattering-8/
Aug 23, 2024 - To view this content, you must be a member of Alan Zucconi's Patreon at $5 or more Unlock with PatreonAlready a qualifying Patreon member? Refresh to...
alan zucconiintroductionmietheory
https://www.alanzucconi.com/2015/09/02/a-practical-tutorial-to-hack-and-protect-unity-games/
Aug 23, 2024 - Unity games are very easy to hack; this tutorial will show you how to prevent hackers from modifying your game, and how to check if they are at risk.
unity gamespracticaltutorialhackamp
https://www.alanzucconi.com/2016/08/02/arduino-heater-1/
Aug 22, 2024 - Learn how to build a portable heater, using Arduino. This tutorial is perfect if you need a dew heater for your telescope, or want to warm up your terrarium
buildheaterarduinopartalan
https://www.alanzucconi.com/2018/03/14/a-practical-tutorial-for-fakeapp/
Aug 24, 2024 - You can read all the posts in this series here: If you are interested in reading more about AI Art (Stable Diffusion, Midjourney, etc) you can check this...
alan zucconipracticaltutorialfakeapp
https://www.alanzucconi.com/2017/07/25/the-mathematics-of-thin-film-interference/
Aug 23, 2024 - This tutorial introduces the Mathematical foundations to explain why some material have iridescent reflections. Learn all about thin-film interference.
alan zucconimathematicsthinfilminterference
https://www.alanzucconi.com/2018/07/14/shader-showcase-saturday-1/
Aug 20, 2024 - Learn how to create realistic, volumetric crystals using shaders. If you are developing a Unity game, this tutorial is perfect for you.
alan zucconishadershowcasesaturdaycrystals
https://www.alanzucconi.com/2020/07/27/the-ai-of-creatures/
Aug 24, 2024 - Learn about the game that back in 1996 pioneered Artificial Life and Artificial Intelligence. This is a short documentary about the AI of Creatures.
alan zucconiaicreatures
https://www.alanzucconi.com/2017/04/12/tentacles/
Aug 21, 2024 - Learn how to model and rig tentacles in your game. You will learn how to use Inverse Kinematics to have tentacles that behave realistically.
inverse kinematicsalan zucconitentacles
https://www.alanzucconi.com/2020/10/13/conways-game-of-life/
Aug 24, 2024 - This is the complementary article to the short documentary about Conway’s Game of Life. Join me, as we celebrate the 50th anniversary of its original...
alan zucconiconwaygamelife
https://www.alanzucconi.com/2021/04/01/minecraft-throwable-fireballs/
Aug 25, 2024 - Learn now to create a Minecraft mod to add throwable fireballs! Full tutorial, code and commands available!
alan zucconiminecraftmoddingfireballs
https://www.alanzucconi.com/2017/04/10/gradient-descent/
Aug 24, 2024 - Gradient Descent is one of the most popular minimisation algorithm. Lean how to use it to solve Inverse Kinematics for procedural animations.
gradient descentalan zucconiintroduction
https://www.alanzucconi.com/2015/08/26/console-debugging-in-unity-made-easy/
Aug 23, 2024 - Unity console log is often a pain: this post helps you to extend and improve it. It includes formatting the console output with colours and styles.
alan zucconiconsoledebuggingunitymade
https://www.alanzucconi.com/2017/03/13/positioning-and-trilateration/
Aug 21, 2024 - This post shows how it is possible to find the position of an object in space, using a technique called trilateration. Python code and explanation provided.
alan zucconipositioning
https://www.alanzucconi.com/2022/07/24/extended-kalman-filter/
Aug 23, 2024 - Extended Kalman Filters are the state-of-the-art technique to de-noise sensor data. Learn how to use them to build non-linear models.
kalman filteralan zucconiextended
https://www.alanzucconi.com/2016/07/01/raymarching/
Aug 23, 2024 - Learn how to master volumetric rendering with raymarching technique. Clear and explain code is provided for Unity.
alan zucconirendering
https://www.alanzucconi.com/2015/12/02/a-case-against-photorealism/
Aug 23, 2024 - How do games achieve photorealism? Understand the added value it brings to games, and how you can incomportate that into your own games.
alan zucconicasephotorealismgames
https://www.alanzucconi.com/2021/01/24/linear-interpolation/
Aug 24, 2024 - Learn how to move object via code using one of the most power techniques in videogame development: linear interpolation.
alan zucconilinearinterpolation
https://www.alanzucconi.com/2017/10/27/carpaint-shader-thin-film-interference/
Aug 23, 2024 - This step by step shader tutorial for Unity teaches you how to recreate a physically based material to simulate iridescence reflections on car paint.
car paintalan zucconishaderthinfilm
https://www.alanzucconi.com/2018/09/10/shader-showcase-9/
Sep 10, 2018 - Learn how to recreate one of the most stunning visual effects featured in the recent Spider-Man game on PS4. This tutorial will teach you how to master the...
alan zucconishadershowcasesaturdayinterior
https://www.alanzucconi.com/2020/03/11/work-from-home/
Aug 24, 2024 - Working from home is an appealing option. Whether you are an independent developer, or stuck in quarantine, this article will help making the most of it.
alan zucconidiyguidework
https://www.alanzucconi.com/2016/01/20/exoplanetary-orrery-v/
Aug 19, 2025 - Since 1988 over 2000 exoplanets have been discovered. Check them out in this interactive animation.
alan zucconiv
https://www.alanzucconi.com/2017/06/20/tentacle-suckers-shader/
Aug 23, 2024 - Following the unexpected success of the tutorial on Inverse Kinematics for Tentacles, I have decided to share the shader that I used to make them so realistic....
alan zucconitentaclesuckersshader
https://www.alanzucconi.com/2016/07/01/surface-shading/
Aug 23, 2024 - Learn how you can create realistic lighting for your volumetric renderings. This tutorial focuses on raymarching Volumetric Shaders in Unity 5.
alan zucconirenderingsurfaceshading
https://www.alanzucconi.com/2020/05/19/360-video-unity/
Aug 24, 2024 - This is the second part of the online series dedicated to the creation of 360° videos in Unity. With this course, you will be able to produce 360° videos...
alan zucconicreatevideounity
https://www.alanzucconi.com/2015/11/18/gamebarcode-a-study-of-colours-in-games/
Aug 23, 2024 - The colours of every frame of a given game, sorted. Learn how to create game barcodes in Python, directly from YouTube videos.
alan zucconigamebarcodestudycolours
https://www.alanzucconi.com/2020/05/19/an-introduction-to-360-videos/
Aug 24, 2024 - This online series will cover everything you need to know about 360° videos; from how to create them in Unity, to how to edit them in Premiere Pro in a format...
alan zucconiintroductionvideos
https://www.alanzucconi.com/2020/09/14/inverse-kinematics-in-3d/
Aug 24, 2024 - Learn how to harness the power of procedural animations using Inverse Kinematics in 3D. This Unity tutorials covers everything you need!
inverse kinematicsalan zucconi
https://www.alanzucconi.com/2016/03/02/shaders-for-simulations/
Aug 23, 2024 - This series teaches how to use shaders for simulations. Learn how to harness the computational power of GPUs to speed up your calculations.
alan zucconiuseshaderssimulations
https://www.alanzucconi.com/2016/03/16/cellular-automata-with-shaders/
Aug 23, 2024 - Learn how to harness the power of GPUs implementing the the iconic Game of Life in shader. This is part of a series on how to use shaders for simulations.
cellular automataalan zucconisimulateshaders
https://www.alanzucconi.com/2017/07/15/the-mathematics-of-diffraction-grating/
Aug 24, 2024 - This step by step tutorial will explain you the Mathematics that makes iridescent reflections possible. You can learn how diffraction grating works.
alan zucconimathematicsdiffractiongrating
https://www.alanzucconi.com/2020/12/13/catenary-2/
Aug 24, 2024 - Hanging cables, wires and chains: they are everywhere in modern games! Learn how to create catenaries for your games in Unity!
alan zucconiimplementinggames
https://www.alanzucconi.com/2016/07/01/signed-distance-functions/
Aug 23, 2024 - This tutorial explains how to create complex 3D shapes in a volumetric shader, using signed distance functions. Unity tutorial and code provided.
alan zucconirenderingsigneddistancefunctions
https://www.alanzucconi.com/2021/01/11/gamedev-pronunciation-guide/
Aug 24, 2024 - Learn how to pronounce gamedev-related technical terms using this guide.
alan zucconigamedevpronunciationguide
https://www.alanzucconi.com/2018/08/25/shader-showcase-saturday-7/
Sep 10, 2018 - Learn how to use billboard impostors to reduce the poly counts. If you are developing a Unity game, this tutorial is perfect for you.
alan zucconishadershowcasesaturdaybillboard
https://www.alanzucconi.com/2018/01/03/learning-shaders/
Aug 23, 2024 - Making games is hard, but it doesn't have to. This post shows the best online resources you can access to learn shaders effectively and in no time.
alan zucconilearningshaders
https://www.alanzucconi.com/2017/10/10/atmospheric-scattering-4/
Aug 21, 2024 - This post describes how to model the density of the atmosphere at different altitude. This is a critical step, since the atmospheric density is one of the...
alan zucconijourneyatmosphere
https://www.alanzucconi.com/2016/05/25/generating-deep-dreams/
Aug 23, 2024 - With this tutorial you will learn how to generate deep dreams on your computer, mastering the most revolutionary image effect on the web.
alan zucconigeneratingdeepdreams
https://www.alanzucconi.com/2015/02/24/to-voronoi-and-beyond/
Aug 23, 2024 - Learn how to create Voronoi diagrams by using Unity shaders. C# and Shader code included.
alan zucconivoronoibeyond