<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.1//EN"
                     "http://www.web3d.org/specifications/x3d-3.1.dtd">

<X3D profile="Immersive" version="3.1"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema-instance" xsd:noNamespaceSchemaLocation="http://www.web3d.org/specifications/x3d-3.1.xsd">

<head>
  <meta name="description" content="This is a solution to the Giant Pyramid Puzzle." />
  <meta name="author" content="QYV"/>
  <meta name="created" content="13 May 2006" />
  <meta name="revised" content="14 May 2006" />
  <meta name="copyright" content="Copyright &#169; QYV 2006"/>
  <meta name="url" content="https://ThePIT.BEGghILOS2.net/Academia/Math-Pyramid.x3d" /> 
</head>
<Scene>
  <Transform>
  <NavigationInfo type='"EXAMINE" "WALK" "FLY" "ANY"' headlight="false" />
  <Group>
    <!-- Setting the scale will hide these extra shapes. -->
    <Transform scale="0.09 0.09 0.09" translation="0 0 0.204124145232">
      <Shape DEF="Ball">
        <Sphere radius="0.125" />
        <Appearance>
          <Material diffuseColor="1 0 0" />
        </Appearance>
      </Shape>
      <Shape DEF="Cyl">
        <Cylinder height="0.25" radius="0.0625" />
        <Appearance>
          <Material diffuseColor="1 0 0" />
        </Appearance>
      </Shape>
    </Transform>
  </Group>
  <Group DEF="Pyramid">
    <Group DEF="IPiece">
      <Transform translation="-0.288675134595 -0.5 0">
        <Shape USE="Ball" />
      </Transform>
      <Transform rotation="-0 0 0 0" translation="-0.288675134595 -0.375 0">
        <Shape USE="Cyl" />
      </Transform>
      <Transform translation="-0.288675134595 -0.25 0">
        <Shape USE="Ball" />
      </Transform>
      <Transform rotation="-0 0 0 0" translation="-0.288675134595 -0.125 0">
        <Shape USE="Cyl" />
      </Transform>
      <Transform translation="-0.288675134595 0 0">
        <Shape USE="Ball" />
      </Transform>
      <TouchSensor DEF="ITOUCH" description="Move pointer over pyramid to highlight the I puzzle piece." />
      <DirectionalLight DEF="ILIGHT1" direction="0 0 -1" color="1.0 1.0 0.0" on="false" />
      <DirectionalLight DEF="ILIGHT2" direction="0 0 1" color="1.0 1.0 0.0" on="false" />
      <!-- or use isActive in the fromField for clicks -->
      <ROUTE fromField="isOver" fromNode="ITOUCH" toField="set_on" toNode="ILIGHT1" />
      <ROUTE fromField="isOver" fromNode="ITOUCH" toField="set_on" toNode="ILIGHT2" />
    </Group>
    <Group DEF="L1Piece">
      <Transform translation="-0.216506350946 -0.375 0.204124145232">
        <Shape USE="Ball" />
      </Transform>
      <Transform rotation="-0.051031036308 0 -0.0360843918244 1.57079632679" translation="-0.144337567297 -0.375 0.102062072616">
        <Shape USE="Cyl" />
      </Transform>
      <Transform translation="-0.0721687836487 -0.375 0">
        <Shape USE="Ball" />
      </Transform>
      <Transform rotation="-0 0 0 0" translation="-0.0721687836487 -0.25 0">
        <Shape USE="Cyl" />
      </Transform>
      <Transform translation="-0.0721687836487 -0.125 0">
        <Shape USE="Ball" />
      </Transform>
      <Transform rotation="-0 0 0 0" translation="-0.0721687836487 0 0">
        <Shape USE="Cyl" />
      </Transform>
      <Transform translation="-0.0721687836487 0.125 0">
        <Shape USE="Ball" />
      </Transform>
      <TouchSensor DEF="L1TOUCH" description="Move pointer over pyramid to highlight the L1 puzzle piece." />
      <DirectionalLight DEF="L1LIGHT1" direction="0 0 -1" color="1.0 1.0 0.0" on="false" />
      <DirectionalLight DEF="L1LIGHT2" direction="0 0 1" color="1.0 1.0 0.0" on="false" />
      <!-- or use isActive in the fromField for clicks -->
      <ROUTE fromField="isOver" fromNode="L1TOUCH" toField="set_on" toNode="L1LIGHT1" />
      <ROUTE fromField="isOver" fromNode="L1TOUCH" toField="set_on" toNode="L1LIGHT2" />
    </Group>
    <Group DEF="L2Piece">
      <Transform translation="0.360843918244 -0.125 0">
        <Shape USE="Ball" />
      </Transform>
      <Transform rotation="0.051031036308 0 -0.0180421959122 1.0471975512" translation="0.396928310068 -0.0625 0.102062072616">
        <Shape USE="Cyl" />
      </Transform>
      <Transform translation="0.433012701892 0 0.204124145232">
        <Shape USE="Ball" />
      </Transform>
      <Transform rotation="-0 0 0.0541265877365 1.0471975512" translation="0.324759526419 0.0625 0.204124145232">
        <Shape USE="Cyl" />
      </Transform>
      <Transform translation="0.216506350946 0.125 0.204124145232">
        <Shape USE="Ball" />
      </Transform>
      <Transform rotation="-0 0 0.0541265877365 1.0471975512" translation="0.108253175473 0.1875 0.204124145232">
        <Shape USE="Cyl" />
      </Transform>
      <Transform translation="0 0.25 0.204124145232">
        <Shape USE="Ball" />
      </Transform>
      <TouchSensor DEF="L2TOUCH" description="Move pointer over pyramid to highlight the L2 puzzle piece." />
      <DirectionalLight DEF="L2LIGHT1" direction="0 0 -1" color="1.0 1.0 0.0" on="false" />
      <DirectionalLight DEF="L2LIGHT2" direction="0 0 1" color="1.0 1.0 0.0" on="false" />
      <!-- or use isActive in the fromField for clicks -->
      <ROUTE fromField="isOver" fromNode="L2TOUCH" toField="set_on" toNode="L2LIGHT1" />
      <ROUTE fromField="isOver" fromNode="L2TOUCH" toField="set_on" toNode="L2LIGHT2" />
    </Group>
    <Group DEF="L3Piece">
      <Transform translation="0.216506350946 -0.125 0.204124145232">
        <Shape USE="Ball" />
      </Transform>
      <Transform rotation="0.051031036308 0 -0.0180421959122 1.0471975512" translation="0.25259074277 -0.0625 0.306186217848">
        <Shape USE="Cyl" />
      </Transform>
      <Transform translation="0.288675134595 0 0.408248290464">
        <Shape USE="Ball" />
      </Transform>
      <Transform rotation="-0 0 0.0541265877365 1.0471975512" translation="0.180421959122 0.0625 0.408248290464">
        <Shape USE="Cyl" />
      </Transform>
      <Transform translation="0.0721687836487 0.125 0.408248290464">
        <Shape USE="Ball" />
      </Transform>
      <Transform rotation="-0 0 0.0541265877365 1.0471975512" translation="-0.0360843918244 0.1875 0.408248290464">
        <Shape USE="Cyl" />
      </Transform>
      <Transform translation="-0.144337567297 0.25 0.408248290464">
        <Shape USE="Ball" />
      </Transform>
      <TouchSensor DEF="L3TOUCH" description="Move pointer over pyramid to highlight the L3 puzzle piece." />
      <DirectionalLight DEF="L3LIGHT1" direction="0 0 -1" color="1.0 1.0 0.0" on="false" />
      <DirectionalLight DEF="L3LIGHT2" direction="0 0 1" color="1.0 1.0 0.0" on="false" />
      <!-- or use isActive in the fromField for clicks -->
      <ROUTE fromField="isOver" fromNode="L3TOUCH" toField="set_on" toNode="L3LIGHT1" />
      <ROUTE fromField="isOver" fromNode="L3TOUCH" toField="set_on" toNode="L3LIGHT2" />
    </Group>
    <Group DEF="L4Piece">
      <Transform translation="0.144337567297 0 0.612372435696">
        <Shape USE="Ball" />
      </Transform>
      <Transform rotation="-0 0 0.0541265877365 1.0471975512" translation="0.0360843918244 0.0625 0.612372435696">
        <Shape USE="Cyl" />
      </Transform>
      <Transform translation="-0.0721687836487 0.125 0.612372435696">
        <Shape USE="Ball" />
      </Transform>
      <Transform rotation="-0.051031036308 0 0.0180421959122 2.09439510239" translation="-0.108253175473 0.0625 0.51031036308">
        <Shape USE="Cyl" />
      </Transform>
      <Transform translation="-0.144337567297 0 0.408248290464">
        <Shape USE="Ball" />
      </Transform>
      <Transform rotation="-0.051031036308 0 0.0180421959122 2.09439510239" translation="-0.180421959122 -0.0625 0.306186217848">
        <Shape USE="Cyl" />
      </Transform>
      <Transform translation="-0.216506350946 -0.125 0.204124145232">
        <Shape USE="Ball" />
      </Transform>
      <TouchSensor DEF="L4TOUCH" description="Move pointer over pyramid to highlight the L4 puzzle piece." />
      <DirectionalLight DEF="L4LIGHT1" direction="0 0 -1" color="1.0 1.0 0.0" on="false" />
      <DirectionalLight DEF="L4LIGHT2" direction="0 0 1" color="1.0 1.0 0.0" on="false" />
      <!-- or use isActive in the fromField for clicks -->
      <ROUTE fromField="isOver" fromNode="L4TOUCH" toField="set_on" toNode="L4LIGHT1" />
      <ROUTE fromField="isOver" fromNode="L4TOUCH" toField="set_on" toNode="L4LIGHT2" />
    </Group>
    <Group DEF="LLPiece">
      <Transform translation="0 -0.25 0.204124145232">
        <Shape USE="Ball" />
      </Transform>
      <Transform rotation="0.051031036308 -0 0.0360843918244 1.57079632679" translation="-0.0721687836487 -0.25 0.306186217848">
        <Shape USE="Cyl" />
      </Transform>
      <Transform translation="-0.144337567297 -0.25 0.408248290464">
        <Shape USE="Ball" />
      </Transform>
      <Transform rotation="0.051031036308 0 -0.0180421959122 1.0471975512" translation="-0.108253175473 -0.1875 0.51031036308">
        <Shape USE="Cyl" />
      </Transform>
      <Transform translation="-0.0721687836487 -0.125 0.612372435696">
        <Shape USE="Ball" />
      </Transform>
      <Transform rotation="0.051031036308 0 -0.0180421959122 1.0471975512" translation="-0.0360843918244 -0.0625 0.714434508312">
        <Shape USE="Cyl" />
      </Transform>
      <Transform translation="0 0 0.816496580928">
        <Shape USE="Ball" />
      </Transform>
      <TouchSensor DEF="LLTOUCH" description="Move pointer over pyramid to highlight the LL puzzle piece." />
      <DirectionalLight DEF="LLLIGHT1" direction="0 0 -1" color="1.0 1.0 0.0" on="false" />
      <DirectionalLight DEF="LLLIGHT2" direction="0 0 1" color="1.0 1.0 0.0" on="false" />
      <!-- or use isActive in the fromField for clicks -->
      <ROUTE fromField="isOver" fromNode="LLTOUCH" toField="set_on" toNode="LLLIGHT1" />
      <ROUTE fromField="isOver" fromNode="LLTOUCH" toField="set_on" toNode="LLLIGHT2" />
    </Group>
    <Group DEF="CPiece">
      <Transform translation="0.144337567297 -0.25 0">
        <Shape USE="Ball" />
      </Transform>
      <Transform rotation="-0 0 0 0" translation="0.144337567297 -0.125 0">
        <Shape USE="Cyl" />
      </Transform>
      <Transform translation="0.144337567297 0 0">
        <Shape USE="Ball" />
      </Transform>
      <Transform rotation="-0 0 -0.0541265877365 1.0471975512" translation="0.25259074277 0.0625 0">
        <Shape USE="Cyl" />
      </Transform>
      <Transform translation="0.360843918244 0.125 0">
        <Shape USE="Ball" />
      </Transform>
      <Transform rotation="0 0 -0.0541265877365 2.09439510239" translation="0.469097093717 0.0625 0">
        <Shape USE="Cyl" />
      </Transform>
      <Transform translation="0.57735026919 0 0">
        <Shape USE="Ball" />
      </Transform>
      <TouchSensor DEF="CTOUCH" description="Move pointer over pyramid to highlight the C puzzle piece." />
      <DirectionalLight DEF="CLIGHT1" direction="0 0 -1" color="1.0 1.0 0.0" on="false" />
      <DirectionalLight DEF="CLIGHT2" direction="0 0 1" color="1.0 1.0 0.0" on="false" />
      <!-- or use isActive in the fromField for clicks -->
      <ROUTE fromField="isOver" fromNode="CTOUCH" toField="set_on" toNode="CLIGHT1" />
      <ROUTE fromField="isOver" fromNode="CTOUCH" toField="set_on" toNode="CLIGHT2" />
    </Group>
    <Group DEF="SPiece">
      <Transform translation="-0.288675134595 0.25 0">
        <Shape USE="Ball" />
      </Transform>
      <Transform rotation="0.051031036308 0 -0.0180421959122 2.09439510239" translation="-0.25259074277 0.1875 0.102062072616">
        <Shape USE="Cyl" />
      </Transform>
      <Transform translation="-0.216506350946 0.125 0.204124145232">
        <Shape USE="Ball" />
      </Transform>
      <Transform rotation="0 0 -0.0541265877365 2.09439510239" translation="-0.108253175473 0.0625 0.204124145232">
        <Shape USE="Cyl" />
      </Transform>
      <Transform translation="0 0 0.204124145232">
        <Shape USE="Ball" />
      </Transform>
      <Transform rotation="0.051031036308 0 -0.0180421959122 2.09439510239" translation="0.0360843918244 -0.0625 0.306186217848">
        <Shape USE="Cyl" />
      </Transform>
      <Transform translation="0.0721687836487 -0.125 0.408248290464">
        <Shape USE="Ball" />
      </Transform>
      <TouchSensor DEF="STOUCH" description="Move pointer over pyramid to highlight the S puzzle piece." />
      <DirectionalLight DEF="SLIGHT1" direction="0 0 -1" color="1.0 1.0 0.0" on="false" />
      <DirectionalLight DEF="SLIGHT2" direction="0 0 1" color="1.0 1.0 0.0" on="false" />
      <!-- or use isActive in the fromField for clicks -->
      <ROUTE fromField="isOver" fromNode="STOUCH" toField="set_on" toNode="SLIGHT1" />
      <ROUTE fromField="isOver" fromNode="STOUCH" toField="set_on" toNode="SLIGHT2" />
    </Group>
    <Group DEF="PPiece">
      <Transform translation="0.144337567297 0.25 0">
        <Shape USE="Ball" />
      </Transform>
      <Transform rotation="-0 0 0.0541265877365 1.0471975512" translation="0.0360843918244 0.3125 0">
        <Shape USE="Cyl" />
      </Transform>
      <Transform translation="-0.0721687836487 0.375 0">
        <Shape USE="Ball" />
      </Transform>
      <Transform rotation="-0 0 0.0541265877365 1.0471975512" translation="-0.180421959122 0.4375 0">
        <Shape USE="Cyl" />
      </Transform>
      <Transform translation="-0.288675134595 0.5 0">
        <Shape USE="Ball" />
      </Transform>
      <Transform rotation="0.051031036308 0 -0.0180421959122 2.09439510239" translation="-0.25259074277 0.4375 0.102062072616">
        <Shape USE="Cyl" />
      </Transform>
      <Transform translation="-0.216506350946 0.375 0.204124145232">
        <Shape USE="Ball" />
      </Transform>
      <Transform rotation="-0.051031036308 0 -0.0360843918244 1.57079632679" translation="-0.144337567297 0.375 0.102062072616">
        <Shape USE="Cyl" />
      </Transform>
      <Transform translation="-0.0721687836487 0.375 0">
        <Shape USE="Ball" />
      </Transform>
      <TouchSensor DEF="PTOUCH" description="Move pointer over pyramid to highlight the P puzzle piece." />
      <DirectionalLight DEF="PLIGHT1" direction="0 0 -1" color="1.0 1.0 0.0" on="false" />
      <DirectionalLight DEF="PLIGHT2" direction="0 0 1" color="1.0 1.0 0.0" on="false" />
      <!-- or use isActive in the fromField for clicks -->
      <ROUTE fromField="isOver" fromNode="PTOUCH" toField="set_on" toNode="PLIGHT1" />
      <ROUTE fromField="isOver" fromNode="PTOUCH" toField="set_on" toNode="PLIGHT2" />
    </Group>
    <DirectionalLight direction="0 0 -1" />
    <DirectionalLight direction="0 0 1" />
  </Group>
  </Transform>
</Scene>
</X3D>
