When I use jqt, the squares of color are square.

I am not sure why they changed to non-square rectangles for you.

Thanks,

-- 
Raul


On Thu, Jun 25, 2015 at 9:11 PM, Linda Alvord <lindaalv...@verizon.net> wrote:
> I put the pattern in a 4x4 matrix because I use JHS a lot and then the
> squares of color are not rectangles like they were in jqt and your example.
>
> Linda
>
> -----Original Message-----
> From: programming-boun...@forums.jsoftware.com
> [mailto:programming-boun...@forums.jsoftware.com] On Behalf Of Raul Miller
> Sent: Thursday, June 25, 2015 6:33 PM
> To: Programming forum
> Subject: Re: [Jprogramming] Trouble making patter for a color cube
>
> http://www.abdulbaki.org/Unfolding_A_Cube.html has 10 ways of unfolding a
> cube which  fit in a 4x3 (or 3x4) array. (And an 11th which does not.)
>
> --
> Raul
>
>
> On Thu, Jun 25, 2015 at 11:30 AM, Mike Day <mike_liz....@tiscali.co.uk>
> wrote:
>> I'm not sure I made it clear that I'd assumed each of BLACK BLUE ... etc
>> is a numerical triple,  ie 0 0 0 for BLACK, 1 1 1 for WHITE.
>>
>> So this line should have appeared:
>>    'BLACK BLUE GREEN CYAN RED MAGENTA YELLOW WHITE'=:#:i.8
>>
>> Apologies also for using lower case for "blank" in the definition of plan;
>> I'd forgotten it was a defined global in my workspace.
>>
>> Here's a slightly modified definition of mycube, with localisation of the
>> nouns "plan" and "colours":
>> mycube=: 3 : 0
>>
>> :
>>
>> nsteps =. 2 >. <: x
>>
>> 'A B C D H G F E' =. y
>>
>> BLANK =. < BLACK;BLACK;BLACK;BLACK
>>
>> FRONT =. < A;B;C;D
>>
>> BACK =. < H;G;F;E
>>
>> TOP =. < E;F;B;A
>>
>> LEFT =. < H;E;A;D
>>
>> RIGHT =. < F;G;C;B
>>
>> BASE =. < D;C;G;H
>>
>> plan =. BASE(<3 1)}FRONT(<2 1)}(LEFT,TOP,RIGHT)1}BACK(<0 1)}4 3$BLANK
>>
>> colours =. ,/,/>,"_1 each/"1 nsteps mysquarecolours each plan
>>
>> colours viewmat i.($plan)*nsteps+1
>>
>> )
>>
>>
>> It occurs to me that one could specify alternative "nets" to
>> represent the cube.  You've chosen a cross, but you can also
>> have a T,  and more generally,  the left and right faces can
>> roll anywhere up and down their sides;  and of course, we
>> can tip the whole thing on its side,  or roll the base around
>> to the left of left or the right of right.... I suppose the
>> net-shape could be an optional left argument for a dyadic
>>
>> "cube" verb,  probably easiest to have an arbitrary enumeration
>> of the net-shapes.
>>
>> I don't often use JHS,  having got used to JQT.  My problem with sending
>> messages seems to be a recent feature of my Thunderbird installation.
>>
>> I hope that helps.  and hope that the code works for you.
>> If it does, then have a look at this and be very amazed! ....
>> 30 mycube BLACK,BLUE,WHITE,GREEN,RED,YELLOW,CYAN,:MAGENTA
>>
>>
>> Mike
>>
>>
>> On 25/06/2015 09:14, Linda Alvord wrote:
>>>
>>> Mike, I'm sorry you are having such a problem with the messages.  I have
>>> found that if I run a working program in JHS and then copy the script and
>>> paste in an email, I can eliminate typing errors in the code.  Then in
> the
>>> email you can write comments around it and not need NB. all the time.
>>>
>>>
>>> I got your code entered and it ran with no errors. However I tried
>>>
>>> Mycube '' and got no result. I'll look at it some more.
>>>
>>> Linda
>>>
>>> -----Original Message-----
>>> From: programming-boun...@forums.jsoftware.com
>>> [mailto:programming-boun...@forums.jsoftware.com] On Behalf Of Mike Day
>>> Sent: Thursday, June 25, 2015 3:18 AM
>>> To: programm...@jsoftware.com
>>> Subject: Re: [Jprogramming] Trouble making patter for a color cube
>>>
>>> I'm still not sure the following got sent yesterday,  so here's a fourth
>>> attempt.
>>> Sorry about the double-line-spacing,
>>> M
>>>
>>> On 24/06/2015 15:46, Mike Day wrote:
>>>>
>>>> I've just had a look at the correspondence.
>>>>
>>>> It seems to me that it's better to consider the 8 corners of the cube.
>>>> If we specify their colours,  then we merely need to interpolate the
>>>> colours along the edges and within the faces.
>>>>
>>>> Here's an attempt to do that, plagiarising blatantly from Raul's
>>>> earlier postings. Over to Linda to render the code in basic J.
>>>>
>>>> The 8 corners may indeed use the 8 colours in #:i.8,  but don't need
>>>> to do so,  and may use 8 triples of any numbers in [0.0,1.0].
>>>>
>>>> The code follows below, with some comments, and apologies for
>>>> line-wraps, line-skips or whatever.
>>>>
>>>> Also apologies for any typos in this patter,
>>>>
>>>> Mike
>>>>
>>>> NB. revision of Raul's colour-mixing verb,  with 4 corner colours
>>>> rather than 3 NB. given corner colours ABCD (4x3 array), and x>1 steps
>>>> from A to B etc
>>>>
>>>> NB. make an (x+1)x(x+1)x3 array of mixed colours
>>>>
>>>> NB. assumes input colours are in [0,1], but output in [0,255]
>>>>
>>>> msc=:mysquarecolours =: 3 : 0
>>>>
>>>> :
>>>>
>>>> nsteps =. x
>>>>
>>>> 'A B C D' =. y
>>>>
>>>> lamda =. (,:~-.)@:(%~ i.@>:) nsteps
>>>>
>>>> AB =. lamda +/@:(*/"1) A,:B NB. mix of colours between corners A & B
>>>>
>>>> CD =. lamda +/@:(*/"1) D,:C NB. mix of colours between corners C & D
>>>>
>>>> 1 0 2 |: <.255 * lamda +/@:(*/"1) AB,:CD NB. transpose 'cos I got the
>>>> order wrong!
>>>>
>>>> )
>>>>
>>>>
>>>> NB. Cube layout: A-H label the corners;
>>>>
>>>> NB. (looked ok in the edit window, added ... to
>>>> NB.    force spacing!!!)
>>>> NB. ..H-G
>>>>
>>>> NB. ..|+|
>>>>
>>>> NB. H-E-F-G sides are AB,BC,...,BF,EA,...FG,GH
>>>>
>>>> NB. |+|+|+| faces are ABCD, DCGH, ... HGFE
>>>>
>>>> NB. D-A-B-C
>>>>
>>>> NB. ..|+|
>>>>
>>>> NB. ..D-C
>>>>
>>>> NB. ..|+|
>>>>
>>>> NB. ..H-G
>>>>
>>>>
>>>> NB. verb to draw the plan
>>>>
>>>> NB. lhs = number of steps = %: number of facets on a face
>>>>
>>>> NB. rhs = 8 x 3 array of corner colours in range [0,1]
>>>>
>>>> mycube=: 3 : 0
>>>>
>>>> :
>>>>
>>>> nsteps =. 2 >. <: x
>>>>
>>>> 'A B C D H G F E' =. y
>>>>
>>>> BLANK =. < BLACK;BLACK;BLACK;BLACK
>>>>
>>>> FRONT =. < A;B;C;D
>>>>
>>>> BACK =. < H;G;F;E
>>>>
>>>> TOP =. < E;F;B;A
>>>>
>>>> LEFT =. < H;E;A;D
>>>>
>>>> RIGHT =. < F;G;C;B
>>>>
>>>> BASE =. < D;C;G;H
>>>>
>>>> plan =: BASE(<3 1)}FRONT(<2 1)}(LEFT,TOP,RIGHT)1}BACK(<0 1)}4 3$blank
>>>>
>>>> colours =: ,/,/>,"_1 each/"1 nsteps mysquarecolours each plan
>>>>
>>>> colours viewmat i.4 3*nsteps+1
>>>>
>>>> )
>>>>
>>>>
>>>> NB. sample call using all colours in #:i.8
>>>>
>>>> NB. 4 mycube BLACK,BLUE,WHITE,GREEN,RED,YELLOW,CYAN,:MAGENTA
>>>>
>>>>
>>>> NB. The colours don't have to be all distinct
>>>>
>>>> NB. 3 mycube BLACK,BLUE,WHITE,GREEN,RED,YELLOW,BLUE,:BLACK
>>>>
>>>>
>>>> On 24/06/2015 07:18, Raul Miller wrote:
>>>>>
>>>>> A color, for viewmat, the way you are using it, is a sequence of
>>>>> three integers in the range 0 .. 255.
>>>>>
>>>>> The problem is that none of the sequences in FRONT nor BASE are valid
>>>>> colors.
>>>>>
>>>>> This problem is made more confusing because while BLACK and WHITE are
>>>>> single valued "colors", the others range from black to white with the
>>>>> named color appearing in the middle. And then you're using just parts
>>>>> of those sequences. The grammar may be "simple" but the abstractions
>>>>> are not.
>>>>>
>>>>> So... there are several problems to fix here, but the biggest problem
>>>>> is that your results are not valid colors. If I subtract 255 from
>>>>> each of the values you have there, they are better, but still not
>>>
>>> correct.
>>>>>
>>>>> Anyways, if I look at the adjacent squares, FRONT should have:
>>>>>
>>>>> at index 0 (upper left corner):  255 0 0 at index 4 (upper right
>>>>> corner):  255 0 255 at index 20 (lower left corner):  255 255 0 at
>>>>> index 24 (lower right corner): 255 255 255
>>>>>
>>>>>    Similarly, BASE should have:
>>>>>
>>>>> at index 0: 255 255 0
>>>>> at index 4: 255 255 255
>>>>> at index 20: 0 255 0
>>>>> at index 24: 0 255 255
>>>>>
>>>>> Instead, you have this:
>>>>>
>>>>>       0 4 20 24{ FRONT -255
>>>>> 255 255 255
>>>>> 255   0 255
>>>>> 255 255   0
>>>>> 255   0   0
>>>>>       0 4 20 24{ BASE -255
>>>>> 255 255 255
>>>>> 255 255   0
>>>>>     0 255 255
>>>>>     0 255   0
>>>>>
>>>>> Hopefully this helps...
>>>>>
>>>
>>
>>
>> ---
>> This email has been checked for viruses by Avast antivirus software.
>> https://www.avast.com/antivirus
>>
>> ----------------------------------------------------------------------
>> 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

Reply via email to