hlxldb

LED光立方制作全过程(四十)

0
阅读(10449)

Step 61Software: Effect 5, axis updown randsuspend

Software: Effect 5, axis updown randsuspend

Software: Effect 5, axis updown randsuspend

Software: Effect 5, axis updown randsuspend

Software: Effect 5, axis updown randsuspend

Software: Effect 5, axis updown randsuspend

Software: Effect 5, axis updown randsuspend

 

This is one of our favorite effects. The voxels randomly suspended in the cube gives a nice 3d depth, especially if you move your head while viewing the effect.

64 voxels start out on one of the side walls. Then they all get assigned a random midway destination between the side wall they started at and the wall on the opposite side.

The function then loops 8 times moving each voxel closer to its midway destination. After 8 iterations, the voxels are suspended at different distances from where they started. The function then pauses for a while, thus the name axis_updown_randsuspend ;). It then loops 8 times again moving the voxels one step closer to their final destination on the opposite wall each time.

The actual voxel drawing is done in a separate function, draw_positions_axis() so it can be used in different effects. For example, the voxels could be suspended midway in a non-random pattern. We will leave it up to you to create that effect function! :D

You may have noticed that the description for this effect was less specific. We encourage you to download the source code and read through the functions yourself. Keep the text above in mind when reading the code, and try to figure out what everything does.

 

Step 62Software: Effect 6, stringfly

Software: Effect 6, stringfly

Software: Effect 6, stringfly

Software: Effect 6, stringfly

 

Software: Effect 6, stringfly

Software: Effect 6, stringfly

 

8x8 is about the smallest size required to render a meaningful text font, so we just had to do just that!

We loaded a 8x5 bitmap font that we had previously used with a graphical LCD display into EEPROM memory, and created some functions that took an ASCII char as an argument and returned a bitmap of the character.

The function stringfly2 takes any ASCII string and displays it as characters flying through the cube.

It starts by placing the character at the back of the cube, then uses the shift() function to shift the cube contents towards you, making the text fly.