# WEEKLY RENDER RGB Cube  # 15.4.2018 RGB Cube

15.4.2018
Kilian Mehringer
3D Artist

With this weeks render a new series starts. A series about visualised Color Spaces. Beside my studies and this agency i teach webdevelopmend and 3d visualisation at a media High School. I was wondering about the problems some students had to understand color spaces.
Most of the time the biggest problem was it to understand that color can be represented in 3d space and the simplest example is the RGB Cube.

Everyone knows about vectors and learned about 3d coordinates in linear algebra classes. So the knowledge about the math behind 3d spaces is there. To get the connection between color and this crazy magical math.

RGB Color is representet trough three values Red, Green and Blue. Thats what everyone knows. But why not just take exactly these 3 values and create a 3d vector out of it. The result is the RGB Cube. There are drawings of solid rgb cubes which create the illusion oaf missing volume. And you cant see the single vectors i talked about before.
To fix this i choosed ico spheres to represent every single color vector in space and color. To show of the volume of the resulting cube i scaled the hole cube up and rotated it around so it possible to see inside the cube and realise that every single color has its place in 3d space.
Only problem is that this cube is 256 by 256 by 256 on its 3 axies which creates a volume of 256^3 color vectors. Thats way to much for visualising the geometry of color. So i had to scale down the densety of the point cloud.

But it would still be to much work to create all of the spheres and there shaders by myself. So i created a wrote python script for it. To get the lower densety of points i just ignored every for loop step wich hasnt a modulo zero of a given value. To higher or lower the amount of points i can adjust these value and get more or less points.

The basic structure of the code are three for loops. One for every axies going from 0 to 255 with an if statemet checking for the given modulo value:

for x in range(255):
if x%mod == 0:
for y in range(255):
if y%mod == 0:
for z in range(255):
if z%mod == 0:
location(x,y,z)
color(x,y,z) ## WIREFRAME 3D MODEL 