I am writing this post on Proof of Brain as the subject of the post is the process of translating an image from inside a human brain to a computer screen.
The particular question has been on my mind for several decades. Thw question is: How does one go about translating an image from inside of one's mind onto a computer screen.
Humans tend to use language to convey ideas. I thought about this problem and am producing a string of text about the idea.
Human language is a really powerful tools.
So the big question in my mind is how can I use language to create images?
I've been expecting the computer industry to produce a decent computer language for creating images.
Interestingly, the best image generation language I've encountered to date is PostScript. PostScript was develped at the Xerox PARC labs in the late 70s and played an important role in the development of printer and imaging technology.
Unfortunately the developers of postscript envisioned a language that would be written by and interpretted by computers. The language does not have a human friendly face.
I was hoping that the Internet would see the creation of a decent language for images. The GIF standard was interesting but it was proprietary. Since the primary purpose of a language is to communicate, a proprietary language simply does not work.
There are numerous programming languages that allow people to create images. Adobe Flash and Java Applet were fun. Unfortunately, it is perilous to try and communicate with proprietary solutions. Both flash and applet applications introduced security holes which made the languages untenable.
The GD Library in PHP is extrenely interesting. One can generate images in a variety of file formats for display on the web.
I was hoping that SVG (Scalar Vector Graphics) could develop into a language for communicating images. I just haven't been able to motivate myself into mastering SVG.
I keep falling into the same pit. I start trying to create images with SVG. I convince myself that the images look too hoaky and quit.
The Infinite Doodle Game
I created the idea of "The Infinite Doodle" several decades ago. It is a simple art prompt game. In theory, the infinite doodle is a collection of connected pictures embedded in a three dimensional grid. The pictures have common lines that flow into each other.
This idea works quite well with SVG. Each picture simply has lines that connect it to other pictures on the infinitd doodle.
I had the basic idea for this game in my mind for decades. I keep putting it off because I am the only person interested in the concept.
I created the account @idoodle last week. The account started generating prompts for the tiles. I use DALL-E to generate an image for the prompt.
My next goal is to start creating SVG and line drawings related to the prompt.
The first prompt in the game was "Big Bang." I figured that I would create a starburst for the account.
Unfortunately, I find myself confronting a number of foundational issues that keep delaying my production of graphics.
What is the Proper Order for a Grid
The @idoodle game seeks to embed images into a three dimensional grid.
This simple design begs the question: How does one number the tiles on a three dimensional grid.
This is actually an age old question and people have developed different conventions for this problem over the decades.
NOTE: I will attempt to use HTML line draw characters in this post. There is a chance that the tables below will just be garble.
Scribes in the Western world tend to write from Left to Right. Each line of text is below the previous lines.
It is common to see writers in the Western World label the quadrants of a grid as follows:
The upper left quadrant is A. The upper right quadrant is B. The lower left quadrant is C and the lower left quadrant is D.
A ║ B
║
═══════╬═══════
C ║ D
║
I am a fan of René Descartes. The Cartesian Plane used in Analytic Geometry centers on the x-axis and y-axis. The x-axis is the line x = 0. The y axis is the line y = 0.
The numbering of the quadrants is driven by the sign of the variables. Mathematicians tend to consider the upper right quadrant as the first quadrant. The x value takes precendence over the y value. So, the quadrants rotate counter clockwise from the first quadrant.
B ║ A
- + ║ + +
═══════╬═══════
C ║ D
- - ║ + -
Everything is Upside Down in SVG
So, here is my first big problem.
Everything in computer graphics (including SVG) is upside down.
Graphics programmers wanted an easy way to refer to the pixels on a screen. In computer programming, the pixel in the upper left hand corner of the screen is (0,0). If the screen was 1280x640 pixels, then the center dot would be at 640,320.
The consequence of this programming decision is that the x/y axis in SVG looks as follows:
C ║ D
- - ║ + -
═══════╬═══════
B ║ A
- + ║ + +
I do not believe in re-inventing the wheel. However, the fact that I want to create the infinite doodle on an xy plane throws me into a tizzy.
Should I stick with the number of the grid as used on the standard cartesian plane or should I lable the grids as used in the SVG environment?
HIVE does not display SVG images. Here is the SVG version of the Starburst.
SVG is like HTML. You can view the source code for the image. The code is just a bunch of lines, triangles and one circle. I am posting on PoB because I created the image by writing the source code for the image.
Posted using Proof of Brain