"UFONIL 2"

contribuição de Paulo Baddini

original modificado e adaptado por
Guacira Sampaio Rocha

 

Credits:

° image gif: "Color" by Guacira Sampaio Rocha
° background: "El_Negro2" by Guacira Sampaio Rocha
° mid: "Celtic" (found for free, in the net)
° script author:
unfortunatly I lost this information - could you help me?
° prepared, commented and posted (as it is in this page) by: Guacira Sampaio Rocha

 

<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1" PAB>
<META content="MSHTML 6.00.2712.300" name=GENERATOR><title>Ufonil</title></HEAD>
<BODY bgColor=#0000ff

background=
aqui a imagem background scroll=no>
<BGSOUND balance=0
src="
aqui o caminho do som" volume=-500>
<DIV style="LEFT: 15%; POSITION: absolute; TOP: 0.1%">
<DIV><IMG id=imagem style="DISPLAY: none"
src="
aqui o caminho e o nome da imagem base"
name=
aqui apenas o nome da imagem base></DIV>
<OBJECT id=DAControl
style="Z-INDEX: -1; WIDTH: 750px; POSITION: relative; HEIGHT: 550px"
classid=CLSID:B6FFC24C-7E13-11D0-9B47-00C04FC2F51D><PARAM NAME=
"OpaqueForHitDetect" VALUE="1"><PARAM NAME="UpdateInterval" VALUE="0.033"></OBJECT>
<SCRIPT language=JScript April 2000 autor="Phil">
m=DAControl.MeterLibrary;
textureimg=m.ImportImage(imagem.src).MapToUnitSquare()
textureimg = textureimg.Transform(m.Scale2UniformAnim(sdan(1, 2, 1, 0)))
nr=8;ANEL=5;np=ANEL*(nr-1);p=new Array();u=new Array();n=0
for(i=0;i<nr;i++){teta=(i*Math.PI)/(nr-1);PARCOS=1.0;z=(-1)*Math.cos(PARCOS*teta);r=z
for(j=0;j<np;j++){PAR1=4.0;a=j*PAR1*Math.PI/np;
ALONGX=2.5*z;ALONGY=1.3*z;x=ALONGX*r*Math.cos(a);y=
ALONGY*r*Math.sin(a);u[n]=m.Point2(j/np,i/(nr-1));p[n++]=m.Point3(x,y,z)}}
pos=new Array();surf=new Array();n=0
for(i=0;i<nr-1;i++){PARC=1.0; PARN=1.0;sc=PARC*i*np;sn=sc+np*PARN;
for(j=0;j<np;j++){surf[n]=u[sc+j];pos[n++]=p[sc+j];surf[n]=u[sn+j];pos[n++]=p[sn+j]
if(j==np-1){surf[n]=m.Point2(1.0,i/(nr-1));pos[n++]=p[sn];surf[n]=m.Point2(1.0,i/(nr-1));pos[n++]=p[sn]}
else{surf[n]=u[sn+j+1];pos[n++]=p[sn+j+1];surf[n]=u[sn+j+1];pos[n++]=p[sn+j+1]}
surf[n]=u[sc+j];pos[n++]=p[sc+j]
if(j==np-1){surf[n]=m.Point2(1.0,i/(nr-1));pos[n++]=p[sc]}
else{surf[n]=u[sc+j+1];pos[n++]=p[sc+j+1];}}}
norm=new Array()
for(i=0;i<pos.length;i++){v=m.Vector3(pos[i].X.Extract(),pos[i].Y.Extract(),pos[i].Z.Extract())
norm[i]=v}
PARG=6;ggeo=m.TriMesh(pos.length/PARG,pos,norm,surf,null);OPAC=1.0;ggeo=ggeo.
TextureImage(textureimg).Opacity(OPAC);SCAL=0.02;ROTX=z^2/3;ROTY=z/5;ROTZ=z/1.5;ggeo=ggeo.
Transform(m.Compose3Array(new Array(m.Scale3Uniform(SCAL),m.Rotate3Rate
(m.XVector3, ROTX),m.Rotate3Rate(m.YVector3, ROTY),m.Rotate3Rate(m.ZVector3,ROTZ))))
CAM1=0.5;CAM2=0.49;camera=m.PerspectiveCamera(CAM1, CAM2);light=m.UnionGeometry
(m.AmbientLight.LightColor(m.colorRgb(.5,.5,.5)),m.PointLight.Transform(m.Translate3(0.3,0.3,0.3)))
scene=m.UnionGeometry(ggeo,light).Render(camera)
DAControl.Image=scene
DAControl.Start()
function sdan(min,max,rate,phase)
{a=(max-min)/2; b=a+min; return(m.Add(m.DANumber(b),m.Mul(m.DANumber(a),m.Sin
(m.Mul(m.Add(m.Localtime,m.DANumber(phase)),m.DANumber(rate))))))}
</SCRIPT>
</DIV>
</BODY></HTML>

Esse script pode perfeitamente ser copiado dentro da aba Origem de seu Outlook Express, e ser enviado, com fundo musical, como mensagem aos seus amigos.