<!--
-->
<html>
<head>
<title>3dhtml Example :: Heart 3D</title>
<!-- helper libs -->
<script language="JavaScript" src="../js/LyrObj.js"></script>
<script language="JavaScript" src="../js/ClipButton.js"></script>
<!-- core 3dhtml lib -->
<script language="JavaScript" src="../js/3dhtml.js"></script>
<!-- mouse scale modulator -->
<script language="JavaScript" type="text/javascript" src="../js/MouseModulator.js"></script>
<script language="JavaScript" src="../js/HeartBeatModulator.js"></script>
<!-- Color Utils for the points -->
<script language="JavaScript" src="../js/ColorUtil.js"></script>
<!-- ColorRectMaterial -->
<script language="JavaScript" src="../js/materials.js"></script>
<script language="javascript">
<!--
var redBallCBMAterial = createClipButtonMaterial("images/balls.gif", 20, 180, 20, 20, 9);
var blueBallCBMAterial = createClipButtonMaterial("images/balls_blue.gif", 20, 180, 20, 20, 9);
var heartModel = new Model("heart", redBallCBMAterial);
heartModel.setPoints(createHeartModelPoints());
var heartShadowModel = new Model("heartShadow", blueBallCBMAterial);
heartShadowModel.setPoints(createHeartModelPoints());
var myMouseModulator = new MouseModulator("myMouseModulator");
var myHeartBeatModulator = new HeartBeatModulator(15);
var reflectionMatrix = new Matrix();
fixNetscape();
heartModel.assignLayers();
heartShadowModel.assignLayers();
reflectionMatrix.translate(0, -300, 0);
reflectionMatrix.scale(1, 1, -1);
reflectionMatrix.rotateX(Math.PI);
var initMatrix = new Matrix();
initMatrix.scale(20, 20, 20);
initMatrix.rotateX(Math.PI);
heartModel.transform(initMatrix);
heartShadowModel.copyPointsFrom(heartModel);
heartShadowModel.transform(reflectionMatrix);
heartModel.draw();
heartShadowModel.draw();
animate();
}
var heartBeatStackMatrix = new Matrix();
var delay = 10;
myMouseModulator.animate();
myHeartBeatModulator.animate();
var myMatrix = myMouseModulator.getMatrix();
myMatrix.compose(myHeartBeatModulator.getMatrix());
heartModel.transform(myMatrix);
heartModel.draw();
heartShadowModel.copyPointsFrom(heartModel);
heartShadowModel.transform(reflectionMatrix);
heartShadowModel.draw();
setTimeout("animate()", delay);
}
document.onmousemove = mouseMoveHandler;
document.onmousedown = mouseDownHandler;
document.onmouseup = mouseUpHandler;
if (ns) document.captureEvents(Event.MOUSEMOVE | Event.MOUSEDOWN | Event.MOUSEUP);
myMouseModulator.move(e);
return !ie;
}
myMouseModulator.down(e);
}
myMouseModulator.up(e);
}
return new Array(
new Point3D(0.0, 3.0, 1.0, 0),
new Point3D(1.0, 4.0, 1.0, 0),
new Point3D(2.4, 4.2, 1.5, 0),
new Point3D(3.75, 3.5, 2.0, 0),
new Point3D(3.7, 1.5, 2.0, 0),
new Point3D(2.0, -2.0, 1.5, 0),
new Point3D(0.0, -4.0, 0.5, 0),
new Point3D(-0.0, 3.0, 1.0, 0),
new Point3D(-1.0, 4.0, 1.0, 0),
new Point3D(-2.4, 4.2, 1.5, 0),
new Point3D(-3.75, 3.5, 2.0, 0),
new Point3D(-3.7, 1.5, 2.0, 0),
new Point3D(-2.0, -2.0, 1.5, 0),
new Point3D(-0.0, -4.0, 0.5, 0),
new Point3D(0.0, 3.0, -1.0, 0),
new Point3D(1.0, 4.0, -1.0, 0),
new Point3D(2.4, 4.2, -1.5, 0),
new Point3D(3.75, 3.5, -2.0, 0),
new Point3D(3.7, 1.5, -2.0, 0),
new Point3D(2.0, -2.0, -1.5, 0),
new Point3D(0.0, -4.0, -0.5, 0),
new Point3D(-0.0, 3.0, -1.0, 0),
new Point3D(-1.0, 4.0, -1.0, 0),
new Point3D(-2.4, 4.2, -1.5, 0),
new Point3D(-3.75, 3.5, -2.0, 0),
new Point3D(-3.7, 1.5, -2.0, 0),
new Point3D(-2.0, -2.0, -1.5, 0),
new Point3D(-0.0, -4.0, -0.5, 1)
);
}
</script>
<style type="text/css">
<!--
body {
background-image:url('images/bgheart3d.gif');
background-repeat:repeat-x;
background-color:#C7E0FF;
}
</style>
</head>
<body onload="initOnLoad()" bottommargin="0" leftmargin="0" marginheight="0" marginwidth="0" rightmargin="0" topmargin="0" style="height:100%">
<!-- layer to bugfix netscape -->
<div id="fixnetscape" style="position:absolute;visibility:hidden"></div>
<div id="sym" style="position:absolute; left:600px; top:430px; background-color:red"><img src="images/sym.gif" width="155" height="145" alt="" border="0"></div>
<script language="JavaScript" type="text/javascript">
<!--
heartModel.createPointCode();
heartShadowModel.createPointCode();
</script>
</body>
</html>
Syntax highlighted by Code2HTML, v. 0.9, modified by Netzministerium, 2001.