Here's a "smooth blending" variant of this color cube concept: 'BLACK BLUE GREEN CYAN RED MAGENTA YELLOW WHITE'=:#:i.8
'BLANK'=: <WHITE;WHITE;WHITE 'BACK'=: <GREEN;CYAN;BLACK 'LEFT'=: <GREEN;BLACK;YELLOW 'TOP'=: <BLACK;BLUE;RED 'RIGHT'=: <BLUE;CYAN;MAGENTA 'FRONT'=: <RED;MAGENTA;YELLOW 'BASE'=: <YELLOW;WHITE;GREEN squarecolor=:4 :0 'O X Y'=. y colors=. <.255*O+"1](%x-1)*((i.x)*/Y-"1 O)+"1/(i.x)*/X-"1 O ) require'viewmat' cube=:3 :0 plan=. BASE(<3 1)}FRONT(<2 1)}(LEFT,TOP,RIGHT)1}BACK(<0 1)}4 3$BLANK 'rgb' viewmat 256#.,/>,"_1 each/"1 y squarecolor each plan ) cube 160 Here, the right argument to cube is the size (in pixels) of a square on the face of the resulting "color cube". The resulting image is 4 times higher and three times wider than a single face. The point, after all, was to generate a page which, when printed out, could then be cut and folded into a color cube. So I also changed the blank (unused) squares to be white - that way the printer should use less ink. It might be more visually appealing to use a darker color, but since the printed page is just an intermediate product, I don't think that that should matter. Thanks, -- Raul On Sun, Jun 14, 2015 at 10:13 AM, Raul Miller <rauldmil...@gmail.com> wrote: > My apologies. > > I left out the color definition line. (Brian Schott emailed me a note > about this, privately.) > > Here's what I think you need: > > 'BLACK BLUE GREEN CYAN RED MAGENTA YELLOW WHITE'=:#:i.8 > > 'BLANK'=: <BLACK;BLACK;BLACK > 'BACK'=: <GREEN;CYAN;BLACK > 'LEFT'=: <GREEN;BLACK;YELLOW > 'TOP'=: <BLACK;BLUE;RED > 'RIGHT'=: <BLUE;CYAN;MAGENTA > 'FRONT'=: <RED;MAGENTA;YELLOW > 'BASE'=: <YELLOW;WHITE;GREEN > > squarecolor=:3 :0 > 'O X Y'=. y > colors=. <.255*O+"1]0.25*((i.5)*/Y-"1 O)+"1/(i.5)*/X-"1 O > ) > > require'viewmat' > cube=:3 :0 > plan=: BASE(<3 1)}FRONT(<2 1)}(LEFT,TOP,RIGHT)1}BACK(<0 1)}4 3$BLANK > colors=: ,/,/>,"_1 each/"1 squarecolor each plan > colors viewmat i.20 15 > ) > > cube'' > > And, once you have that, you may want to do something like this: > > setsize_jviewmat_ 750 1000 > savemat_jviewmat_ jpath '~user/color-cube-page.png' > > Thanks, > > -- > Raul > > On Sun, Jun 14, 2015 at 2:01 AM, Linda Alvord <lindaalv...@verizon.net> wrote: >> This time I get an error after a large image of color stripes from red to >> blue. >> >> cube'' >> |value error: BLACK >> | colors viewmat i.20 15 >> >> I'm not sure how to fix it. >> >> Linda >> >> >> -----Original Message----- >> From: programming-boun...@forums.jsoftware.com >> [mailto:programming-boun...@forums.jsoftware.com] On Behalf Of Raul Miller >> Sent: Saturday, June 13, 2015 10:00 AM >> To: Programming forum >> Subject: Re: [Jprogramming] Trouble making patter for a color cube >> >> Ok, fair enough. >> >> New plan: >> >> TOP=:<,.'TOP';<2 2$;:'BLACK BLUE RED MAGENTA' >> BACK=:<,.'BACK';<2 2$;:'GREEN CYAN BLACK BLUE' >> FRONT=:<,.'FRONT';<2 2$;:'RED MAGENTA YELLOW WHITE' >> BASE=:<,.'BASE';<2 2$;:'YELLOW WHITE GREEN CYAN' >> LEFT=:<,.'LEFT';<2 2$;:'GREEN BLACK RED YELLOW' >> RIGHT=:<,.'RIGHT';<2 2$;:'BLUE CYAN MAGENTA WHITE' >> BASE(<3 1)}FRONT(<2 1)}(LEFT,TOP,RIGHT)1}BACK(<0 1)}4 3$a: >> >> Implementation: >> >> 'BLANK'=: <BLACK;BLACK;BLACK >> 'BACK'=: <GREEN;CYAN;BLACK >> 'LEFT'=: <GREEN;BLACK;YELLOW >> 'TOP'=: <BLACK;BLUE;RED >> 'RIGHT'=: <BLUE;CYAN;MAGENTA >> 'FRONT'=: <RED;MAGENTA;YELLOW >> 'BASE'=: <YELLOW;WHITE;GREEN >> >> squarecolor=:3 :0 >> 'O X Y'=. y >> colors=. <.255*O+"1]0.25*((i.5)*/Y-"1 O)+"1/(i.5)*/X-"1 O >> ) >> >> cube=:3 :0 >> plan=: BASE(<3 1)}FRONT(<2 1)}(LEFT,TOP,RIGHT)1}BACK(<0 1)}4 3$BLANK >> ref=. ((75*i.4)+/5*i.3) +each <i.5 5 >> colors=. ,/,/>,"_1 each/"1 squarecolor each plan >> colors viewmat i.20 15 >> ) >> >> cube'' >> >> Technically, I didn't need to quote my color names, but I decided to leave >> the quotes in as emphasis (or, perhaps more accurately, to give some style >> to those particular names). >> >> Thanks, >> >> -- >> Raul >> >> >> On Sat, Jun 13, 2015 at 5:11 AM, Linda Alvord <lindaalv...@verizon.net> >> wrote: >>> Raul, I can see that a plan is useful. If you think of Black as no light. >>> Now build three axes. Blue is to the right (0 to 255). Red is forward >> toward >>> you. And green moves up from the base. So >>> >>> I like your floor plan, Now LEFT and RIGHT are not oriented correctly. >>> >>> Try your code in JHS. There you can just place the images where you want >>> them. >>> >>> Linda >>> >>> -----Original Message----- >>> From: programming-boun...@forums.jsoftware.com >>> [mailto:programming-boun...@forums.jsoftware.com] On Behalf Of Linda >> Alvord >>> Sent: Saturday, June 13, 2015 4:40 AM >>> To: programm...@jsoftware.com >>> Subject: Re: [Jprogramming] Trouble making patter for a color cube >>> >>> Also, when I ran your code in jqt, I separated the separate images and >> they >>> work together. However they are a horizontal flip of your layout for the >>> pieces. Linda >>> >>> -----Original Message----- >>> From: programming-boun...@forums.jsoftware.com >>> [mailto:programming-boun...@forums.jsoftware.com] On Behalf Of Linda >> Alvord >>> Sent: Saturday, June 13, 2015 4:25 AM >>> To: programm...@jsoftware.com >>> Subject: Re: [Jprogramming] Trouble making patter for a color cube >>> >>> Raul, I got an error after you layout appeared. Now that I removed that >>> line, I got your six images. They are correct Now put them into your >> layout >>> pattern so that the correct colors are joined. And make one big image with >>> the correct sides joined. >>> >>> It still bothers me that two of the faces in my work aren't correct. Now >> on >>> to study your strategy. Linda >>> >>> -----Original Message----- >>> From: programming-boun...@forums.jsoftware.com >>> [mailto:programming-boun...@forums.jsoftware.com] On Behalf Of Linda >> Alvord >>> Sent: Saturday, June 13, 2015 3:21 AM >>> To: programm...@jsoftware.com >>> Subject: Re: [Jprogramming] Trouble making patter for a color cube >>> >>> This a "Color Cube. It should print in color. And then you cut it out and >>> fold it up and you have a little cube with pretty colors that will show >> you >>> lots of things about how light makescolors. Myc cube will only have 125 >>> colors, but it becomes infinite in your imagination. >>> >>> However, I will give some thought to what you sent. This is why the forum >> is >>> such fun. Each person tackles a problem in a different way. >>> >>> Linda >>> >>> -----Original Message----- >>> From: programming-boun...@forums.jsoftware.com >>> [mailto:programming-boun...@forums.jsoftware.com] On Behalf Of Raul Miller >>> Sent: Saturday, June 13, 2015 1:00 AM >>> To: Programming forum >>> Subject: Re: [Jprogramming] Trouble making patter for a color cube >>> >>> I got a lot of squares running your script, and the one that I really >> liked >>> was the one that was labeled 'TOP'. So I'll base my implementation on that >>> one. >>> >>> For something as complicated as this, I think I'd like to sketch out first >>> how it's supposed to look. >>> >>> So here's my first sketch: >>> (<'BASE')(<3 1)}(<'FRONT')(<2 1)}(;:'LEFT TOP RIGHT')1}(<'BACK')(<0 1)}4 >>> 3$a: >>> >>> (beware line wrap - that's supposed to be a single line). >>> >>> But I also need to think about colors. After a little fiddling, I decided >> to >>> go with this: >>> >>> TOP=:<,.'TOP';<2 2$;:'BLACK BLUE RED MAGENTA' >>> BACK=:<,.'BACK';<2 2$;:'GREEN CYAN BLACK BLUE' >>> FRONT=:<,.'FRONT';<2 2$;:'RED MAGENTA YELLOW WHITE' >>> BASE=:<,.'BASE';<2 2$;:'YELLOW WHITE GREEN CYAN' >>> LEFT=:<,.'LEFT';<2 2$;:'BLACK RED GREEN YELLOW' >>> RIGHT=:<,.'RIGHT';<2 2$;:'MAGENTA BLUE WHITE CYAN' >>> BASE(<3 1)}FRONT(<2 1)}(LEFT,TOP,RIGHT)1}BACK(<0 1)}4 3$a: >>> >>> with that out of the way, all I need is a routine to render squares, the >>> rest of the code almost writes itself: >>> >>> 'BLACK BLUE GREEN CYAN RED MAGENTA YELLOW WHITE'=:#:i.8 >>> >>> square=:4 :0 >>> 'O X Y'=. y >>> colors=. <.255*O+"1,/0.25*((i.5)*/Y-"1 O)+"1/(i.5)*/X-"1 O >>> colors viewmat (i.5 5);x >>> ) >>> >>> 'BACK' square GREEN;CYAN;BLACK >>> 'LEFT' square BLACK;RED;GREEN >>> 'TOP' square BLACK;BLUE;RED >>> 'RIGHT' square MAGENTA;BLUE;WHITE >>> 'FRONT' square RED;MAGENTA;YELLOW >>> 'BASE' square YELLOW;WHITE;GREEN >>> >>> Good enough? >>> >>> Thanks, >>> >>> -- >>> Raul >>> >>> >>> On Sat, Jun 13, 2015 at 12:04 AM, Linda Alvord <lindaalv...@verizon.net> >>> wrote: >>>> I am planning to begin a review of J Tech Grade 3 before introducing >>>> some new topics in Grade 4. I am making a pattern which could be >>>> printed and >>> then >>>> folded to form a color cube. It requires three dimensions for the >>>> three colors of light, Green, Red and Blue. I have the colors >>>> following the order of counting to 8 in base 2. The columns in the >>>> binary array >>> represent >>>> Green, Red and then Blue. This insures that the falues are in order >>>> from dark to light. >>>> >>>> >>>> >>>> The pattern must have six sides. All went well with the first 4 sides, >>>> However the final two sides don't cooperate. I suspect there is some >>> little >>>> problem in viewmat. Here is my progress so far. The front and the >>>> bottom >>> are >>>> the problems. They both involve YELLOW. >>>> >>>> >>>> >>>> As is usual I welcome ways you may know to improve what I am trying to >> do. >>> I >>>> suggest using JHS to see how this is progressing. >>>> >>>> >>>> >>>> load 'viewmat' >>>> >>>> N=:<.63.8*i.5 >>>> >>>> BLACK=:9 3$0 >>>> >>>> BLUE=:(2#"1,.(4#0),N),.N,4#255 >>>> >>>> RED=:(N,4#255),.2#"1,.(4#0),N >>>> >>>> MAGENTA=:(N,4#255),.((4#0),N),.N,4#255 >>>> >>>> GREEN=:((4#0),N),.(N,4#255),.(4#0),N >>>> >>>> CYAN=:((4#0),N),.2#"1 ,.N,4#255 >>>> >>>> YELLOW=:(2#"1 ,.N,4#255) ,.(4#0),N >>>> >>>> WHITE=:9 3$255 >>>> >>>> (#:i.8);'BLACK','BLUE','RED','MAGENTA','GREEN','CYAN','YELLOW',:'WHITE' >>>> >>>> >>>> >>>> A=:<.0.5*(i.5 5)+i.5 5 >>>> >>>> >>>> >>>> BLANK=:25 3$255 >>>> >>>> BACK=:25 3$,><"1 (0 1 2 3 4{GREEN)+"1/(0 1 2 3 4){BLUE >>>> >>>> BACK viewmat A >>>> >>>> (BACK,BLANK)viewmat (25+A),.|.A >>>> >>>> >>>> >>>> TOP=:25 3$,><"1 (0 1 2 3 4{RED)+"1/(0 1 2 3 4){BLUE >>>> >>>> TOP viewmat A;'TOP' >>>> >>>> LEFT=:25 3$,><"1 (0 1 2 3 4{GREEN)+"1/(0 1 2 3 4){RED >>>> >>>> LEFT viewmat A >>>> >>>> (TOP,LEFT) viewmat (25+|:|.A),.A >>>> >>>> >>>> >>>> ((TOP,LEFT) viewmat (25+|:|.A),.A),.(BACK,BLANK)viewmat (25+A),.|.A >>>> >>>> >>>> >>>> RIGHT=:R=:25 3$,><"1 P=:(8 7 6 5 4{CYAN)+"1/(8 7 6 5 4){MAGENTA >>>> >>>> RIGHT viewmat A >>>> >>>> >>>> >>>> FRONT=:S=:25 3$,><"1 Q=:(8 7 6 5 4{YELLOW)+"1/(8 7 6 5 4){MAGENTA >>>> >>>> FRONT viewmat A >>>> >>>> >>>> >>>> BOTTOM=:25 3$,><"1 (8 7 6 5 4{CYAN)+"1/(8 7 6 5 4){YELLOW >>>> >>>> BOTTOM viewmat A >>>> >>>> >>>> >>>> R;S >>>> >>>> >>>> >>>> I included R;S to show how close the good and the bad faces are prior >>>> to using viewmat. >>>> >>>> >>>> >>>> Linda >>>> >>>> >>>> >>>> ---------------------------------------------------------------------- >>>> For information about J forums see http://www.jsoftware.com/forums.htm >>> ---------------------------------------------------------------------- >>> For information about J forums see http://www.jsoftware.com/forums.htm >>> >>> ---------------------------------------------------------------------- >>> For information about J forums see http://www.jsoftware.com/forums.htm >>> >>> ---------------------------------------------------------------------- >>> For information about J forums see http://www.jsoftware.com/forums.htm >>> >>> ---------------------------------------------------------------------- >>> For information about J forums see http://www.jsoftware.com/forums.htm >>> >>> ---------------------------------------------------------------------- >>> For information about J forums see http://www.jsoftware.com/forums.htm >> ---------------------------------------------------------------------- >> For information about J forums see http://www.jsoftware.com/forums.htm >> >> ---------------------------------------------------------------------- >> For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm