Artwork by Judith L. Ward

View
Blue = Optional Changes
Red = Cube Image Changes
Green = Midi Changes
Purple = Background image changes
Pink = Text box area changes
<HTML><HEAD><TITLE>7 Cube Script</TITLE>

<STYLE>BODY {
MARGIN-TOP: 30px; FONT-WEIGHT: bold; FONT-SIZE: 14px; MARGIN-LEFT: 450px; COLOR: #5F36B6; MARGIN-RIGHT: 30px; FONT-FAMILY: "Verdana"
}
</STYLE>

</HEAD>
<BODY bgColor=#000000 background="path/backgroundimage.jpg or gif">
<DIV>&nbsp;</DIV><BGSOUND balance=-10 src="path/music.mid" volume=0 loop=infinite>
<TABLE style="FILTER: Alpha(Opacity=70); LEFT: 500px; WIDTH: 300px; POSITION: absolute; TOP: 30px; HEIGHT: 300px" 
borderColor=#5F36B6 cellSpacing=0 cellPadding=10 bgColor=#ffffff border=8>
<TBODY>
<TR>
<TD>
<CENTER><FONT face=Verdana color=#5F36B6 size=2>Text goes here</FONT>&nbsp;</CENTER>
<CENTER>&nbsp;</CENTER></TD></TR></TBODY></TABLE><IMG id=ctmimage style="DISPLAY: none" src="path/mainimage.jpg or gif">
<OBJECT id=DAControl style="LEFT: 20px; WIDTH: 500px; POSITION: absolute; TOP: 10px; HEIGHT: 500px" 
classid=CLSID:B6FFC24C-7E13-11D0-9B47-00C04FC2F51D><PARAM NAME="OpaqueForHitDetect" VALUE="1"><PARAM NAME="UpdateInterval" VALUE="0.033"></OBJECT>
<SCRIPT>
//7 cubes
//Phil Richards
//[email protected]


m = DAControl.MeterLibrary;
textureimg=m.ImportImage(ctmimage.src).MapToUnitSquare();
//Define a double-sided plane that behaves like a Shapes transform sheet
var p0=m.point3( 1, 1,0);
var p1=m.point3(-1, 1,0);
var p2=m.point3(-1,-1,0);
var p3=m.point3( 1,-1,0);
var n0=m.vector3(0,0,1);
var n1=m.vector3(0,0,-1);
var u0 =m.point2(1.0, 1.0);
var u1 =m.point2(0.0, 1.0);
var u2 =m.point2(0.0, 0.0);
var u3 =m.point2(1.0, 0.0);
var pos=new Array(
p0,p1,p2,
p0,p2,p3,
p0,p2,p1,
p0,p3,p2
);
var norm=new Array(
n0,n0,n0,
n0,n0,n0,
n1,n1,n1,
n1,n1,n1
);
var surf=new Array(
u0, u1, u2,
u0, u2, u3,
u0, u2, u1,
u0, u3, u2
);

var fc=m.TriMesh (4, pos, norm, surf, null);
fc=fc.TextureImage(textureimg);
var facefb=m.UnionGeometry(fc.Transform(m.Translate3(0,0,1)),fc.Transform(m.Translate3(0,0,-1)));
var facelr=facefb.Transform(m.Rotate3(m.YVector3,Math.PI/2));
var facetb=facefb.Transform(m.Rotate3(m.XVector3,Math.PI/2));
var cube=m.UnionGeometryArray(new Array(facefb,facelr,facetb));

var ap=m.SequenceArray(
new Array(
da(2).Duration(5),
m.Interpolate(2,-2,2),
da(-2).Duration(5),
m.Interpolate(-2,2,2)
)
).RepeatForever();

var an=m.Neg(ap);
var cubes=new Array();
cubes[0]=cube.Transform(m.Translate3Anim(da(0),da(0),da(0)));
cubes[1]=cube.Transform(m.Translate3Anim(an,ap,da(0)));
cubes[2]=cube.Transform(m.Translate3Anim(an,da(0),ap));
cubes[3]=cube.Transform(m.Translate3Anim(da(0),an,ap));
cubes[4]=cube.Transform(m.Translate3Anim(ap,an,da(0)));
cubes[5]=cube.Transform(m.Translate3Anim(ap,da(0),an));
cubes[6]=cube.Transform(m.Translate3Anim(da(0),ap,an));

var lattice=m.UnionGeometryArray(cubes);

lattice=lattice.Transform(
m.Compose3Array(
new Array(
m.Scale3Uniform(0.013),
m.Rotate3Rate(m.ZVector3, 0.2),
m.Rotate3Rate(m.XVector3, 0.4),
m.Rotate3Rate(m.YVector3, 0.6)
)
)
);

var light1=m.AmbientLight;

var camera=m.PerspectiveCamera(.1,.09);
var scene=m.UnionGeometry(lattice,light1).Render(camera);
DAControl.Image=scene;
DAControl.Start();

function da(n){return(m.DANumber(n))}

</SCRIPT>

</A></BODY></HTML>

Home