Posts

Showing posts from October, 2020

Designing and creating a Suspended Strandbeest

Image
Note: This GIF has been sped up x 2 I took one look at Theo Jansen’s Strandbeest moving machines and thought to myself, “Wow I’d like to recreate that”. And recreate I did, but on a smaller scale. I also inadvertently made them less creepy as well. Here’s a video showing the originals models in movement. Pretty cool, right? Theo Jansen has also designed several more cool machines, do check them out on the official Strandbeest website [3].   According to the Strandbeest website and this paper [ 6 ], the model adheres to a group of Holy Numbers. The model and its respective Holy Numbers are shown above. The linkage is made up of two 3 bar linkages (our triangles) and 2 four bar linkages. [2] Image obtained from [2] The overall trajectory of the end-point forms a specific shape, known as the locus. Apparently, the locus’ phases have dedicated names, shown above. The set of Holy Numbers affect the shape of the locus. On e can optimize the locus’ shape to fit their requirements. For ins

An attempt at creating "ASCII" Art but with Unicode characters

Image
Following a quick read of this article on Medium [4], I felt tempted to try my hand at making ASCII art. Well, ASCII art but including Urdu/Arabic characters in it. So in other words, not “ASCII” art at all. This means we’re going beyond the realm of a restrictive 127 character set. Making ASCII art has been tried and done hundreds of times. For this project, I used C++ (my go-to programming language). Upon researching the working principle behind ASCII art [10] and how others approached this in C# [2], Python [4] and JavaScript [3] , I found that implementing an intensity-dependent program is the simplest solution. It can be summed up in 4 steps. 1) Set a char array with several characters sorted by “intensity” 2) Get a grayscale, contrast-adjusted image. 3) Loop through each pixel and select a corresponding character for each pixel, based on the grayscale value (0-255). 4) Print out the corresponding characters. I used the SFML library to load the ima