jfrech.com
jblog
table of contents

Shaper

2015-05-10, post № 27

programming, Pygame, Python, #black, #change, #changing, #monochrome, #monochrome polygon, #mouse, #movement, #moving, #polygon, #pseudo random, #random, #red, #shapes, #shaping

Playing around with randomness I came up with this program which randomly generates various shapes. It starts off with one point in the center which will start randomly moving. By clicking on the screen you can generate new points or remove previous ones. If the number of points gets higher than 𝟤, a monochrome polygon will be displayed (using the pygame.polygon() function).

Usage

  • Left-clicking generates a new point,
  • Right-clicking removes a previous point.
shaper-2.png
shaper-3.png
shaper-4.png
Source code: shaper.py
Extra assets: shaper-1.png

2015-05-09, post № 26

games, #animated, #browser, #color, #Firefox, #internet, #internet browser, #module, #monochrome, #moz://a, #Mozilla Firefox, #spinning unicorn, #task, #taskbar, #unicorn

Using Firefox as my main browser and often surfing in the internet I surely spend a lot of time with this piece of software. Maybe a bit too long … In an incident of pure boredom I decided to remove every module out of the task bar (positioned on the right). And what then happened was unexpected.

When you remove every module, a monochrome unicorn appears.

the-firefox-unicorn_bw.png

If you then put your mouse cursor onto the surface, the unicorn shows its real beauty.

the-firefox-unicorn.png

Being really risky you can also click and the unicorn will show its happiness by spinning in circles.

the-firefox-unicorn_spinning.png

It is just a funny little gag I found out and wanted to share.

Circle splatter

2015-05-03, post № 25

programming, Pygame, Python, #around, #around the center, #black, #center, #change, #changing, #circle, #color, #cursor, #mouse, #mouse position, #red, #repel

Continuing to work with vectors (see ‘Circle Crawler’), I thought to include the mouse cursor. In this simulation there are 𝟣 ⨉ 𝟣-sized entities (𝟦𝟢𝟢 of them) which create a circle around the center. By going near the entities with your mouse cursor, you push them away. Every entity has the urge to go back to its original position.

Usage

  • ‘m’ toggles if entities move or stay.
circle-splatter-1.png
circle-splatter-2.png
circle-splatter-3.png
Source code: circle-splatter.py

Rain

2015-05-02, post № 24

programming, Pygame, Python, #black, #black and blue, #blue, #chill, #dripping, #drops, #peaceful, #quiet, #rain, #raindrop, #raindrops, #rainy, #simulation, #weather

Inspired by the current weather — my favourite weather, the rain — I made this simple simulation. There are no controls, just look at it quietly and peacefully.

rain.png
Source code: rain.py

Star

2015-05-01, post № 23

programming, Pygame, Python, #around the center, #black, #black and white, #blue, #change, #changing, #circle, #color, #controlled, #creating, #degree, #shape, #shape shifting, #shift, #simulation, #star, #star shape

I had an idea to make a simulation which generates stars. Using my getCirclePos() function, two radii — an inner and an outer one — and a number of points I realized the idea in this program.

How it works

  • \frac{360^\circ}{\text{number of points}}=\text{circle sector}
  • \frac{360^\circ}{\text{number of points} \cdot 2}=\text{shifted circle sector}
  • Using those to sectors — and alternating between the inner (shifted) and outer radius — the program connects the points and out comes a star shape.

How to use

  • ‘d’ toggles debug mode (gray circles),
  • ‘f’ toggles points being drawn (blue points at the corners).
star-1.png
star-2.png
star-3.png
Source code: star.py

Worldwide Pinhole Day

2015-04-26, post № 22

art, #anim, #animated, #animated gif, #day, #gif, #photo, #photography, #pinhole, #pinhole day, #worldwide, #WW Pinhole Day

Get out your pinhole camera and take a photo!

worldwide-pinhole-day.gif

Bouncing

2015-04-25, post № 21

programming, Pygame, Python, #3D, #background, #ball, #balls, #bounce off, #bounce off ground, #bouncing balls, #change, #changing, #circle, #circles, #circular, #collision, #color, #color change, #colors, #controlled, #creating, #fade, #fade away, #fade to, #fading, #orange, #round, #three-dimensional, #yellow

This simulation lets you spawn in circular entities which then bounce off the groung and fade into the background. You can toggle if they are moving, the screen gets refilled and if they have a black border around them. The three-dimensional illusion comes from the balls getting slowly smaller and blending to the background color. Eventually the balls will ‘die’ (be removed), when they have reached a minimum size.

Usage

  • Clicking on the screen spawns in a new ball,
  • ‘b’ toggles if the black border is shown,
  • ‘f’ toggles if screen gets refilled,
  • ‘m’ toggles if balls are moving,
  • ‘k’ kills all the balls.
bouncing-2.png
bouncing-4.png
bouncing-5.png
Source code: bouncing.py

Circle crawler

2015-04-19, post № 20

programming, Pygame, Python, #around, #around the center, #black, #center, #change, #changing, #circle, #distance, #fill, #filling, #move, #movement, #moving, #red, #relation, #vec, #vector

In this program there are entities equally positioned around the center. As the entities begin to move, they can either go toward the center, away from the center or stay. You can toggle if the entities move and if the screen gets refilled. The code is based on ‘Circle Walk II’, but the calculation for the entities to move in relation to the center is achieved by using vectors.

Usage

  • ‘m’ to toggle if entities are moving,
  • ‘f’ to toggle if the screen gets refilled.
circle-crawler-1.png
circle-crawler-2.png
circle-crawler-3.png
Source code: circle-crawler.py

Plant mimic

2015-04-18, post № 19

programming, Pygame, Python, #behavior, #black, #black and white, #growing, #growth, #mimic, #offspring, #plant, #plant behavior, #pseudo random, #random, #root, #roots, #simulation, #white

I was trying to mimic plant root-growth behavior. It all starts with one root, which then has a chance to get offspring (𝟢 to 𝟦). If it gets offspring, the offspring also gets a chance for more offspring. To reduce lag there is a maximum to the currently growing roots (𝟣𝟢𝟢). Due to the random behavior, it is possible for the plant to die at the start or — theoretically — in an advanced state.

plant-mimic-2.png
plant-mimic-6.png
plant-mimic-7.png
Source code: plant-mimic.py

FS letters

2015-04-12, post № 18

programming, Pygame, Python, #color, #different colors, #every file, #fade, #fading, #file, #files, #filesystem, #fs, #letters, #Macintosh, #random, #red, #red letters, #user

This program goes through all the filenames from every user (it is made for Macintosh), checks the filename and counts the individual letters. Those letters are then displayed on the screen, the most common ones big and bright and the least common ones dark and small. The letters will appear in a random order.

How to use

  • If you start the program, a black screen will appear. Press ‘Space’ and the screen will get red and begin to fade. After the screen is faded out, it gets black and the program freezes (checks your whole filesystem). After this freeze the above mentioned happens (check images below).
fs-letters-1.png
fs-letters-2.png
fs-letters-3.png
Source code: fs-letters.py

Rand pix

2015-04-11, post № 17

programming, Pygame, Python, #background, #beautiful, #black, #change, #changing, #colro, #color change, #colors, #different colors, #fancy, #generates, #gradient, #movement, #moving, #random, #randomly, #snake, #snakes, #walk, #walking, #wallpaper

This program generates a snake of pixels which is randomly moving across the screen. If it leaves the screen, it (as in snakes) gets out the other side. It is also restricted to a length of 𝟣𝟢𝟢𝟢 pixels. As in ‘Colors V’ there are other ways the snake can look, based on the code used (I may post another color variant in the future).

rand-pix-2.png
rand-pix-3.png
rand-pix-5.png
Source code: rand-pix.py