Jonathan. Frech’s WebBlog

Shadow (#28)

Jonathan Frech

Thinking about vectors and polygons a bit more, I came up with an idea to mimic shadows. In this program you can create colorful polygons with no limited quantity of individual points anywhere on the screen. Furthermore you then can move a light source (represented as a yellow circle) to change the polygon’s pitch black shadow.

The shadow can also be modified in that its distance to the polygon can be changed. To understand the shadow’s creation, there is also an op­tion to visualize the path the light would — in reality — go.

Due to the shadow not changing in size (on­ly in distance to its polygon) but rather in distance, I im­ple­ment­ed the op­tion to get a grid as the background. That way you more have the impression that the shadow is casted onto another surface beneath the surface containing all the polygons and not floating on the same surface.

To have a nice contrast from the polygons to their shadow, I decided to give every polygon a ran­dom­ly assigned color by creation.

Lastly the program will save every polygon that has been drawn in a file called tiles.txt. It will be saved in the current working directory (in short cwd). If you create a new polygon or change the color of an existing one, it will automatically be saved.

Usage

An example how tiles.txt can look (here for drawing “Jblog” and some triangles): shadow_tiles.txt

Source code: shadow.py