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 <[email protected]> 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: [email protected] > [mailto:[email protected]] 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 <[email protected]> > 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: [email protected] >> [mailto:[email protected]] On Behalf Of Linda > Alvord >> Sent: Saturday, June 13, 2015 4:40 AM >> To: [email protected] >> 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: [email protected] >> [mailto:[email protected]] On Behalf Of Linda > Alvord >> Sent: Saturday, June 13, 2015 4:25 AM >> To: [email protected] >> 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: [email protected] >> [mailto:[email protected]] On Behalf Of Linda > Alvord >> Sent: Saturday, June 13, 2015 3:21 AM >> To: [email protected] >> 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: [email protected] >> [mailto:[email protected]] 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 <[email protected]> >> 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
