#pragma rtGlobals=1 // Use modern global access method. Proc GraphAppearance() PauseUpdate; Silent 1 // building window... ModifyGraph margin(left)=1,margin(bottom)=1,margin(top)=1,margin(right)=1,width={Aspect,1} ModifyGraph height=0 ModifyGraph tick=3 ModifyGraph mirror=0 ModifyGraph noLabel=2 ModifyGraph axThick=0 End macro KColorTriangle() // draws color triangle with combination of RGB Variable cMx=1000 // specify maximum coordinate value Variable dmMx=cMx+1 //specify dimension of the RGB color intensity matrix Variable iMx=2^16-1 //specify maximum intensity value Make/O/I/U/N=(dmMx,dmMx,3) kmatrgb=0;Display /W=(5,40,462,497);Appendimage kmatrgb ModifyImage kmatrgb ctab= {*,*,Grays,0} GraphAppearance() // specify red kmatrgb[][][0]= iMx*(y<=(cMx-x))*( (x>=y)*((2*x+y)>cMx) + ((x+2*y)>=cMx)*(y>x)*x/y + ((2*x+y)<=cMx)*((x+2*y)=y)*((2*x+y)>cMx)*y/x + ((x+2*y)>=cMx)*(y>x) + ((2*x+y)<=cMx)*((x+2*y)=y)*((2*x+y)>cMx)*(cMx-x-y)/x + ((x+2*y)>=cMx)*(y>x)*(cMx-x-y)/y + ((2*x+y)<=cMx)*((x+2*y)=y)*((2*x+y)>cMx) + ((x+2*y)>=cMx)*(y>x)*x/y + ((2*x+y)<=cMx)*((x+2*y)=cMx) ) // specify green wmatrgb[][][1]= iMx*( ((x+y)=y)*((2*x+y)>cMx)*y/x + ((x+2*y)>=cMx)*(y>x) + ((2*x+y)<=cMx)*((x+2*y)=cMx) ) // specify blue wmatrgb[][][2]= iMx*( ((x+y)=y)*((2*x+y)>cMx)*(cMx-x-y)/x + ((x+2*y)>=cMx)*(y>x)*(cMx-x-y)/y + ((2*x+y)<=cMx)*((x+2*y)=cMx) ) end