summaryrefslogtreecommitdiffstats
path: root/src/Morphing
diff options
context:
space:
mode:
authorkcr <kcr@28c7f869-5b4e-e670-f602-82bfaf57f300>2004-06-09 03:28:13 +0000
committerkcr <kcr@28c7f869-5b4e-e670-f602-82bfaf57f300>2004-06-09 03:28:13 +0000
commit53ebfcc5ad5554b67d2287f8b02c22ec8405af0f (patch)
tree70c8fabf4cbef5a9d2a50735c4e502d56ce156da /src/Morphing
parent4dead457a59220406dd9fcd40997d7a7b27571b0 (diff)
Initial creation of j3d-examples sources in CVS repository
Diffstat (limited to 'src/Morphing')
-rw-r--r--src/Morphing/ColorCube.java121
-rw-r--r--src/Morphing/ColorPyramidDown.java121
-rw-r--r--src/Morphing/ColorPyramidUp.java123
-rw-r--r--src/Morphing/Morphing.html15
-rw-r--r--src/Morphing/Morphing.java260
-rw-r--r--src/Morphing/MorphingBehavior.java97
-rw-r--r--src/Morphing/Morphing_plugin.html39
-rw-r--r--src/Morphing/Pyramid2Cube.html15
-rw-r--r--src/Morphing/Pyramid2Cube.java192
-rw-r--r--src/Morphing/Pyramid2Cube_plugin.html39
-rw-r--r--src/Morphing/build.xml66
-rw-r--r--src/Morphing/hand1.obj846
-rw-r--r--src/Morphing/hand2.obj846
-rw-r--r--src/Morphing/hand3.obj846
14 files changed, 3626 insertions, 0 deletions
diff --git a/src/Morphing/ColorCube.java b/src/Morphing/ColorCube.java
new file mode 100644
index 0000000..74758fb
--- /dev/null
+++ b/src/Morphing/ColorCube.java
@@ -0,0 +1,121 @@
+/*
+ * $RCSfile$
+ *
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistribution of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistribution in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Sun Microsystems, Inc. or the names of
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * This software is provided "AS IS," without a warranty of any
+ * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
+ * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
+ * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
+ * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
+ * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
+ * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
+ * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
+ * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
+ * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
+ * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGES.
+ *
+ * You acknowledge that this software is not designed, licensed or
+ * intended for use in the design, construction, operation or
+ * maintenance of any nuclear facility.
+ *
+ * $Revision$
+ * $Date$
+ * $State$
+ */
+
+import javax.media.j3d.*;
+import javax.vecmath.*;
+
+class ColorCube extends QuadArray {
+ private static final float[] verts = {
+ // front face
+ 1.0f, -1.0f, 1.0f,
+ 1.0f, 1.0f, 1.0f,
+ -1.0f, 1.0f, 1.0f,
+ -1.0f, -1.0f, 1.0f,
+ // back face
+ -1.0f, -1.0f, -1.0f,
+ -1.0f, 1.0f, -1.0f,
+ 1.0f, 1.0f, -1.0f,
+ 1.0f, -1.0f, -1.0f,
+ // right face
+ 1.0f, -1.0f, -1.0f,
+ 1.0f, 1.0f, -1.0f,
+ 1.0f, 1.0f, 1.0f,
+ 1.0f, -1.0f, 1.0f,
+ // left face
+ -1.0f, -1.0f, 1.0f,
+ -1.0f, 1.0f, 1.0f,
+ -1.0f, 1.0f, -1.0f,
+ -1.0f, -1.0f, -1.0f,
+ // top face
+ 1.0f, 1.0f, 1.0f,
+ 1.0f, 1.0f, -1.0f,
+ -1.0f, 1.0f, -1.0f,
+ -1.0f, 1.0f, 1.0f,
+ // bottom face
+ -1.0f, -1.0f, 1.0f,
+ -1.0f, -1.0f, -1.0f,
+ 1.0f, -1.0f, -1.0f,
+ 1.0f, -1.0f, 1.0f,
+ };
+
+ private static final float[] colors = {
+ // front face (red)
+ 1.0f, 0.0f, 0.0f,
+ 1.0f, 0.0f, 0.0f,
+ 1.0f, 0.0f, 0.0f,
+ 1.0f, 0.0f, 0.0f,
+ // back face (green)
+ 0.0f, 1.0f, 0.0f,
+ 0.0f, 1.0f, 0.0f,
+ 0.0f, 1.0f, 0.0f,
+ 0.0f, 1.0f, 0.0f,
+ // right face (blue)
+ 0.0f, 0.0f, 1.0f,
+ 0.0f, 0.0f, 1.0f,
+ 0.0f, 0.0f, 1.0f,
+ 0.0f, 0.0f, 1.0f,
+ // left face (yellow)
+ 1.0f, 1.0f, 0.0f,
+ 1.0f, 1.0f, 0.0f,
+ 1.0f, 1.0f, 0.0f,
+ 1.0f, 1.0f, 0.0f,
+ // top face (magenta)
+ 1.0f, 0.0f, 1.0f,
+ 1.0f, 0.0f, 1.0f,
+ 1.0f, 0.0f, 1.0f,
+ 1.0f, 0.0f, 1.0f,
+ // bottom face (cyan)
+ 0.0f, 1.0f, 1.0f,
+ 0.0f, 1.0f, 1.0f,
+ 0.0f, 1.0f, 1.0f,
+ 0.0f, 1.0f, 1.0f,
+ };
+
+ ColorCube() {
+ super(24, QuadArray.COORDINATES | QuadArray.COLOR_3);
+
+ setCoordinates(0, verts);
+ setColors(0, colors);
+ }
+}
diff --git a/src/Morphing/ColorPyramidDown.java b/src/Morphing/ColorPyramidDown.java
new file mode 100644
index 0000000..280b3fb
--- /dev/null
+++ b/src/Morphing/ColorPyramidDown.java
@@ -0,0 +1,121 @@
+/*
+ * $RCSfile$
+ *
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistribution of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistribution in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Sun Microsystems, Inc. or the names of
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * This software is provided "AS IS," without a warranty of any
+ * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
+ * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
+ * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
+ * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
+ * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
+ * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
+ * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
+ * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
+ * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
+ * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGES.
+ *
+ * You acknowledge that this software is not designed, licensed or
+ * intended for use in the design, construction, operation or
+ * maintenance of any nuclear facility.
+ *
+ * $Revision$
+ * $Date$
+ * $State$
+ */
+
+import javax.media.j3d.*;
+import javax.vecmath.*;
+
+class ColorPyramidDown extends QuadArray {
+ private static final float[] verts = {
+ // front face
+ 0.0f, -1.0f, 0.0f,
+ 1.0f, 1.0f, 1.0f,
+ -1.0f, 1.0f, 1.0f,
+ 0.0f, -1.0f, 0.0f,
+ // back face
+ 0.0f, -1.0f, 0.0f,
+ -1.0f, 1.0f, -1.0f,
+ 1.0f, 1.0f, -1.0f,
+ 0.0f, -1.0f, 0.0f,
+ // right face
+ 0.0f, -1.0f, 0.0f,
+ 1.0f, 1.0f, -1.0f,
+ 1.0f, 1.0f, 1.0f,
+ 0.0f, -1.0f, 0.0f,
+ // left face
+ 0.0f, -1.0f, 0.0f,
+ -1.0f, 1.0f, 1.0f,
+ -1.0f, 1.0f, -1.0f,
+ 0.0f, -1.0f, 0.0f,
+ // top face
+ 1.0f, 1.0f, 1.0f,
+ 1.0f, 1.0f, -1.0f,
+ -1.0f, 1.0f, -1.0f,
+ -1.0f, 1.0f, 1.0f,
+ // bottom face
+ 0.0f, -1.0f, 0.0f,
+ 0.0f, -1.0f, 0.0f,
+ 0.0f, -1.0f, 0.0f,
+ 0.0f, -1.0f, 0.0f,
+ };
+
+ private static final float[] colors = {
+ // front face (green)
+ 0.0f, 1.0f, 0.0f,
+ 0.0f, 1.0f, 0.0f,
+ 0.0f, 1.0f, 0.0f,
+ 0.0f, 1.0f, 0.0f,
+ // back face (red)
+ 1.0f, 0.0f, 0.0f,
+ 1.0f, 0.0f, 0.0f,
+ 1.0f, 0.0f, 0.0f,
+ 1.0f, 0.0f, 0.0f,
+ // right face (yellow)
+ 1.0f, 1.0f, 0.0f,
+ 1.0f, 1.0f, 0.0f,
+ 1.0f, 1.0f, 0.0f,
+ 1.0f, 1.0f, 0.0f,
+ // left face (magenta)
+ 1.0f, 0.0f, 1.0f,
+ 1.0f, 0.0f, 1.0f,
+ 1.0f, 0.0f, 1.0f,
+ 1.0f, 0.0f, 1.0f,
+ // top face (blue)
+ 0.0f, 0.0f, 1.0f,
+ 0.0f, 0.0f, 1.0f,
+ 0.0f, 0.0f, 1.0f,
+ 0.0f, 0.0f, 1.0f,
+ // bottom face (cyan)
+ 0.0f, 1.0f, 1.0f,
+ 0.0f, 1.0f, 1.0f,
+ 0.0f, 1.0f, 1.0f,
+ 0.0f, 1.0f, 1.0f,
+ };
+
+ ColorPyramidDown() {
+ super(24, QuadArray.COORDINATES | QuadArray.COLOR_3);
+
+ setCoordinates(0, verts);
+ setColors(0, colors);
+ }
+}
diff --git a/src/Morphing/ColorPyramidUp.java b/src/Morphing/ColorPyramidUp.java
new file mode 100644
index 0000000..4cca260
--- /dev/null
+++ b/src/Morphing/ColorPyramidUp.java
@@ -0,0 +1,123 @@
+/*
+ * $RCSfile$
+ *
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistribution of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistribution in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Sun Microsystems, Inc. or the names of
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * This software is provided "AS IS," without a warranty of any
+ * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
+ * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
+ * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
+ * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
+ * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
+ * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
+ * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
+ * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
+ * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
+ * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGES.
+ *
+ * You acknowledge that this software is not designed, licensed or
+ * intended for use in the design, construction, operation or
+ * maintenance of any nuclear facility.
+ *
+ * $Revision$
+ * $Date$
+ * $State$
+ */
+
+import javax.media.j3d.*;
+import javax.vecmath.*;
+
+class ColorPyramidUp extends QuadArray {
+ private static final float[] verts = {
+ // front face
+ 1.0f, -1.0f, 1.0f,
+ 0.0f, 1.0f, 0.0f,
+ 0.0f, 1.0f, 0.0f,
+ -1.0f, -1.0f, 1.0f,
+ // back face
+ -1.0f, -1.0f, -1.0f,
+ 0.0f, 1.0f, 0.0f,
+ 0.0f, 1.0f, 0.0f,
+ 1.0f, -1.0f, -1.0f,
+ // right face
+ 1.0f, -1.0f, -1.0f,
+ 0.0f, 1.0f, 0.0f,
+ 0.0f, 1.0f, 0.0f,
+ 1.0f, -1.0f, 1.0f,
+ // left face
+ -1.0f, -1.0f, 1.0f,
+ 0.0f, 1.0f, 0.0f,
+ 0.0f, 1.0f, 0.0f,
+ -1.0f, -1.0f, -1.0f,
+ // top face
+ 0.0f, 1.0f, 0.0f,
+ 0.0f, 1.0f, 0.0f,
+ 0.0f, 1.0f, 0.0f,
+ 0.0f, 1.0f, 0.0f,
+ // bottom face
+ -1.0f, -1.0f, 1.0f,
+ -1.0f, -1.0f, -1.0f,
+ 1.0f, -1.0f, -1.0f,
+ 1.0f, -1.0f, 1.0f,
+ };
+
+ private static final float[] colors = {
+
+ // front face (cyan)
+ 0.0f, 1.0f, 1.0f,
+ 0.0f, 1.0f, 1.0f,
+ 0.0f, 1.0f, 1.0f,
+ 0.0f, 1.0f, 1.0f,
+ // back face (magenta)
+ 1.0f, 0.0f, 1.0f,
+ 1.0f, 0.0f, 1.0f,
+ 1.0f, 0.0f, 1.0f,
+ 1.0f, 0.0f, 1.0f,
+ // right face (yellow)
+ 1.0f, 1.0f, 0.0f,
+ 1.0f, 1.0f, 0.0f,
+ 1.0f, 1.0f, 0.0f,
+ 1.0f, 1.0f, 0.0f,
+ // left face (blue)
+ 0.0f, 0.0f, 1.0f,
+ 0.0f, 0.0f, 1.0f,
+ 0.0f, 0.0f, 1.0f,
+ 0.0f, 0.0f, 1.0f,
+ // top face (green)
+ 0.0f, 1.0f, 0.0f,
+ 0.0f, 1.0f, 0.0f,
+ 0.0f, 1.0f, 0.0f,
+ 0.0f, 1.0f, 0.0f,
+ // bottom face (red)
+ 1.0f, 0.0f, 0.0f,
+ 1.0f, 0.0f, 0.0f,
+ 1.0f, 0.0f, 0.0f,
+ 1.0f, 0.0f, 0.0f,
+
+ };
+
+ ColorPyramidUp() {
+ super(24, QuadArray.COORDINATES | QuadArray.COLOR_3);
+
+ setCoordinates(0, verts);
+ setColors(0, colors);
+ }
+}
diff --git a/src/Morphing/Morphing.html b/src/Morphing/Morphing.html
new file mode 100644
index 0000000..1d17203
--- /dev/null
+++ b/src/Morphing/Morphing.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<TITLE>Morphing</TITLE>
+</HEAD>
+<BODY BGCOLOR="#000000">
+<applet align=middle code="Morphing.class" width=700 height=700>
+<blockquote>
+<hr>
+If you were using a Java-capable browser,
+you would see Hello Universe! instead of this paragraph.
+<hr>
+</blockquote>
+</applet>
+</BODY>
+</HTML>
diff --git a/src/Morphing/Morphing.java b/src/Morphing/Morphing.java
new file mode 100644
index 0000000..326f78c
--- /dev/null
+++ b/src/Morphing/Morphing.java
@@ -0,0 +1,260 @@
+/*
+ * $RCSfile$
+ *
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistribution of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistribution in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Sun Microsystems, Inc. or the names of
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * This software is provided "AS IS," without a warranty of any
+ * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
+ * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
+ * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
+ * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
+ * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
+ * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
+ * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
+ * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
+ * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
+ * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGES.
+ *
+ * You acknowledge that this software is not designed, licensed or
+ * intended for use in the design, construction, operation or
+ * maintenance of any nuclear facility.
+ *
+ * $Revision$
+ * $Date$
+ * $State$
+ */
+
+import java.applet.Applet;
+import java.awt.*;
+import java.awt.event.*;
+import com.sun.j3d.utils.applet.MainFrame;
+import com.sun.j3d.utils.universe.*;
+import javax.media.j3d.*;
+import javax.vecmath.*;
+import java.io.*;
+import com.sun.j3d.loaders.objectfile.ObjectFile;
+import com.sun.j3d.loaders.Scene;
+import com.sun.j3d.loaders.ParsingErrorException;
+import com.sun.j3d.loaders.IncorrectFormatException;
+
+public class Morphing extends Applet {
+
+ private java.net.URL[] objFiles = null;
+
+ private SimpleUniverse u = null;
+
+ private BranchGroup createSceneGraph() {
+ // Create the root of the branch graph
+ BranchGroup objRoot = new BranchGroup();
+
+ // Create a Transformgroup to scale all objects so they
+ // appear in the scene.
+ TransformGroup objScale = new TransformGroup();
+ Transform3D t3d = new Transform3D();
+ t3d.setScale(0.4);
+ objScale.setTransform(t3d);
+ objRoot.addChild(objScale);
+
+ // Create a bounds for the background and lights
+ BoundingSphere bounds =
+ new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
+
+ // Set up the background
+ Color3f bgColor = new Color3f(0.05f, 0.05f, 0.2f);
+ Background bg = new Background(bgColor);
+ bg.setApplicationBounds(bounds);
+ objScale.addChild(bg);
+
+ // Set up the global lights
+ Color3f lColor1 = new Color3f(0.7f, 0.7f, 0.7f);
+ Vector3f lDir1 = new Vector3f(-1.0f, -1.0f, -1.0f);
+ Color3f alColor = new Color3f(0.2f, 0.2f, 0.2f);
+
+ AmbientLight aLgt = new AmbientLight(alColor);
+ aLgt.setInfluencingBounds(bounds);
+ DirectionalLight lgt1 = new DirectionalLight(lColor1, lDir1);
+ lgt1.setInfluencingBounds(bounds);
+ objScale.addChild(aLgt);
+ objScale.addChild(lgt1);
+
+ //
+ // Create the transform group nodes for the 3 original objects
+ // and the morphed object. Add them to the root of the
+ // branch graph.
+ //
+ TransformGroup objTrans[] = new TransformGroup[4];
+
+ for(int i=0; i<4; i++) {
+ objTrans[i] = new TransformGroup();
+ objScale.addChild(objTrans[i]);
+ }
+
+ Transform3D tr = new Transform3D();
+ Transform3D rotX90 = new Transform3D();
+ rotX90.rotX(90.0 * Math.PI / 180.0);
+
+ objTrans[0].getTransform(tr);
+ tr.setTranslation(new Vector3d(-2.0, 1.5, -2.0));
+ tr.mul(rotX90);
+ objTrans[0].setTransform(tr);
+
+ objTrans[1].getTransform(tr);
+ tr.setTranslation(new Vector3d(0.0, 1.5, -2.0));
+ tr.mul(rotX90);
+ objTrans[1].setTransform(tr);
+
+ objTrans[2].getTransform(tr);
+ tr.setTranslation(new Vector3d(2.0, 1.5, -2.0));
+ tr.mul(rotX90);
+ objTrans[2].setTransform(tr);
+
+ objTrans[3].getTransform(tr);
+ tr.setTranslation(new Vector3d(0.0, -2.0, -2.0));
+ tr.mul(rotX90);
+ objTrans[3].setTransform(tr);
+
+
+ // Now load the object files
+ Scene s[] = new Scene[3];
+ GeometryArray g[] = new GeometryArray[3];
+ Shape3D shape[] = new Shape3D[3];
+ ObjectFile loader = new ObjectFile(ObjectFile.RESIZE);
+ for(int i=0; i<3; i++) {
+ s[i] = null;
+ g[i] = null;
+ shape[i] = null;
+ }
+
+ for(int i=0; i<3;i++) {
+ try {
+ s[i] = loader.load(objFiles[i]);
+ }
+ catch (FileNotFoundException e) {
+ System.err.println(e);
+ System.exit(1);
+ }
+ catch (ParsingErrorException e) {
+ System.err.println(e);
+ System.exit(1);
+ }
+ catch (IncorrectFormatException e) {
+ System.err.println(e);
+ System.exit(1);
+ }
+
+ BranchGroup b = s[i].getSceneGroup();
+ shape[i] = (Shape3D) b.getChild(0);
+ g[i] = (GeometryArray) shape[i].getGeometry();
+
+ shape[i].setGeometry(g[i]);
+ objTrans[i].addChild(b);
+ }
+
+ //
+ // Create a Morph node, and set the appearance and input geometry
+ // arrays. Set the Morph node's capability bits to allow the weights
+ // to be modified at runtime.
+ //
+ Appearance app = new Appearance();
+ Color3f objColor = new Color3f(1.0f, 0.7f, 0.8f);
+ Color3f black = new Color3f(0.0f, 0.0f, 0.0f);
+ app.setMaterial(new Material(objColor, black, objColor, black, 80.0f));
+ Morph morph = new Morph(g, app);
+ morph.setCapability(Morph.ALLOW_WEIGHTS_READ);
+ morph.setCapability(Morph.ALLOW_WEIGHTS_WRITE);
+
+ objTrans[3].addChild(morph);
+
+ // Now create the Alpha object that controls the speed of the
+ // morphing operation.
+ Alpha morphAlpha = new Alpha(-1, Alpha.INCREASING_ENABLE |
+ Alpha.DECREASING_ENABLE,
+ 0, 0,
+ 2000, 1000, 200,
+ 2000, 1000, 200);
+
+ // Finally, create the morphing behavior
+ MorphingBehavior mBeh = new MorphingBehavior(morphAlpha, morph);
+ mBeh.setSchedulingBounds(bounds);
+ objScale.addChild(mBeh);
+
+ return objRoot;
+ }
+
+ public Morphing() {}
+
+ public Morphing(java.net.URL[] urls) {
+ objFiles = urls;
+ }
+
+ public void init() {
+ if (objFiles == null) {
+ objFiles = new java.net.URL[3];
+ // the path to the image for an applet
+ String path = getCodeBase().toString();
+ try {
+ objFiles[0] = new java.net.URL(path + "hand1.obj");
+ objFiles[1] = new java.net.URL(path + "hand2.obj");
+ objFiles[2] = new java.net.URL(path + "hand3.obj");
+ }
+ catch (java.net.MalformedURLException ex) {
+ System.out.println(ex.getMessage());
+ System.exit(1);
+ }
+ }
+
+ setLayout(new BorderLayout());
+ GraphicsConfiguration config =
+ SimpleUniverse.getPreferredConfiguration();
+
+ Canvas3D c = new Canvas3D(config);
+ add("Center", c);
+
+ // Create a simple scene and attach it to the virtual universe
+ BranchGroup scene = createSceneGraph();
+ u = new SimpleUniverse(c);
+
+ // This will move the ViewPlatform back a bit so the
+ // objects in the scene can be viewed.
+ u.getViewingPlatform().setNominalViewingTransform();
+
+ u.addBranchGraph(scene);
+ }
+
+ public void destroy() {
+ u.cleanup();
+ }
+
+ public static void main(String[] args) {
+ java.net.URL[] urls = new java.net.URL[3];
+ // the path to the image file for an application
+ try {
+ urls[0] = new java.net.URL("file:./hand1.obj");
+ urls[1] = new java.net.URL("file:./hand2.obj");
+ urls[2] = new java.net.URL("file:./hand3.obj");
+ }
+ catch (java.net.MalformedURLException ex) {
+ System.out.println(ex.getMessage());
+ System.exit(1);
+ }
+ new MainFrame(new Morphing(urls), 700, 700);
+ }
+}
diff --git a/src/Morphing/MorphingBehavior.java b/src/Morphing/MorphingBehavior.java
new file mode 100644
index 0000000..730434c
--- /dev/null
+++ b/src/Morphing/MorphingBehavior.java
@@ -0,0 +1,97 @@
+/*
+ * $RCSfile$
+ *
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistribution of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistribution in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Sun Microsystems, Inc. or the names of
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * This software is provided "AS IS," without a warranty of any
+ * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
+ * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
+ * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
+ * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
+ * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
+ * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
+ * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
+ * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
+ * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
+ * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGES.
+ *
+ * You acknowledge that this software is not designed, licensed or
+ * intended for use in the design, construction, operation or
+ * maintenance of any nuclear facility.
+ *
+ * $Revision$
+ * $Date$
+ * $State$
+ */
+
+import java.util.Enumeration;
+import javax.media.j3d.*;
+import javax.vecmath.*;
+
+// User-defined morphing behavior class
+public class MorphingBehavior extends Behavior {
+
+ Alpha alpha;
+ Morph morph;
+ double weights[];
+
+ WakeupOnElapsedFrames w = new WakeupOnElapsedFrames(0);
+
+ // Override Behavior's initialize method to setup wakeup criteria
+ public void initialize() {
+ alpha.setStartTime(System.currentTimeMillis());
+
+ // Establish initial wakeup criteria
+ wakeupOn(w);
+ }
+
+ // Override Behavior's stimulus method to handle the event
+ public void processStimulus(Enumeration criteria) {
+
+ // NOTE: This assumes 3 objects. It should be generalized to
+ // "n" objects.
+
+ double val = alpha.value();
+ if (val < 0.5) {
+ double a = val * 2.0;
+ weights[0] = 1.0 - a;
+ weights[1] = a;
+ weights[2] = 0.0;
+ }
+ else {
+ double a = (val - 0.5) * 2.0;
+ weights[0] = 0.0;
+ weights[1] = 1.0f - a;
+ weights[2] = a;
+ }
+
+ morph.setWeights(weights);
+
+ // Set wakeup criteria for next time
+ wakeupOn(w);
+ }
+
+ public MorphingBehavior(Alpha a, Morph m) {
+ alpha = a;
+ morph = m;
+ weights = morph.getWeights();
+ }
+}
diff --git a/src/Morphing/Morphing_plugin.html b/src/Morphing/Morphing_plugin.html
new file mode 100644
index 0000000..59c370a
--- /dev/null
+++ b/src/Morphing/Morphing_plugin.html
@@ -0,0 +1,39 @@
+<HTML>
+<HEAD>
+<TITLE>Morphing</TITLE>
+</HEAD>
+<BODY BGCOLOR="#000000">
+<!--"CONVERTED_APPLET"-->
+<!-- CONVERTER VERSION 1.3 -->
+<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
+WIDTH = 700 HEIGHT = 700 ALIGN = middle codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0">
+<PARAM NAME = CODE VALUE = "Morphing.class" >
+
+<PARAM NAME="type" VALUE="application/x-java-applet;version=1.2.2">
+<PARAM NAME="scriptable" VALUE="false">
+<COMMENT>
+<EMBED type="application/x-java-applet;version=1.2.2" CODE = "Morphing.class" WIDTH = 700 HEIGHT = 700 ALIGN = middle scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"><NOEMBED></COMMENT>
+<blockquote>
+<hr>
+If you were using a Java-capable browser,
+you would see Hello Universe! instead of this paragraph.
+<hr>
+</blockquote>
+</NOEMBED></EMBED>
+</OBJECT>
+
+<!--
+<APPLET CODE = "Morphing.class" WIDTH = 700 HEIGHT = 700 ALIGN = middle>
+<blockquote>
+<hr>
+If you were using a Java-capable browser,
+you would see Hello Universe! instead of this paragraph.
+<hr>
+</blockquote>
+
+</APPLET>
+-->
+<!--"END_CONVERTED_APPLET"-->
+
+</BODY>
+</HTML>
diff --git a/src/Morphing/Pyramid2Cube.html b/src/Morphing/Pyramid2Cube.html
new file mode 100644
index 0000000..1a83e9f
--- /dev/null
+++ b/src/Morphing/Pyramid2Cube.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<TITLE>Pyramid2Cube</TITLE>
+</HEAD>
+<BODY BGCOLOR="#000000">
+<applet align=middle code="Pyramid2Cube.class" width=700 height=700>
+<blockquote>
+<hr>
+If you were using a Java-capable browser,
+you would see Hello Universe! instead of this paragraph.
+<hr>
+</blockquote>
+</applet>
+</BODY>
+</HTML>
diff --git a/src/Morphing/Pyramid2Cube.java b/src/Morphing/Pyramid2Cube.java
new file mode 100644
index 0000000..9d3858c
--- /dev/null
+++ b/src/Morphing/Pyramid2Cube.java
@@ -0,0 +1,192 @@
+/*
+ * $RCSfile$
+ *
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistribution of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistribution in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Sun Microsystems, Inc. or the names of
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * This software is provided "AS IS," without a warranty of any
+ * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
+ * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
+ * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
+ * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
+ * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
+ * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
+ * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
+ * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
+ * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
+ * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGES.
+ *
+ * You acknowledge that this software is not designed, licensed or
+ * intended for use in the design, construction, operation or
+ * maintenance of any nuclear facility.
+ *
+ * $Revision$
+ * $Date$
+ * $State$
+ */
+
+import java.applet.Applet;
+import java.awt.*;
+import java.awt.event.*;
+import com.sun.j3d.utils.applet.MainFrame;
+import com.sun.j3d.utils.universe.*;
+import javax.media.j3d.*;
+import javax.vecmath.*;
+
+public class Pyramid2Cube extends Applet {
+
+ private SimpleUniverse u = null;
+
+ private BranchGroup createSceneGraph() {
+ // Create the root of the branch graph
+ BranchGroup objRoot = new BranchGroup();
+
+ // Create a Transformgroup to scale all objects so they
+ // appear in the scene.
+ TransformGroup objScale = new TransformGroup();
+ Transform3D t3d = new Transform3D();
+ t3d.setScale(0.4);
+ objScale.setTransform(t3d);
+ objRoot.addChild(objScale);
+
+
+ // Create a bounds for the background and behavior
+ BoundingSphere bounds =
+ new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
+
+ // Set up the background
+ Color3f bgColor = new Color3f(0.05f, 0.05f, 0.2f);
+ Background bg = new Background(bgColor);
+ bg.setApplicationBounds(bounds);
+ objScale.addChild(bg);
+
+ //
+ // Create the transform group nodes for the 3 original objects
+ // and the morphed object. Add them to the root of the
+ // branch graph.
+ //
+ TransformGroup objTrans[] = new TransformGroup[4];
+
+ for(int i=0; i<4; i++) {
+ objTrans[i] = new TransformGroup();
+ objScale.addChild(objTrans[i]);
+ }
+
+ Transform3D tr = new Transform3D();
+ Transform3D rotY15 = new Transform3D();
+ rotY15.rotY(15.0 * Math.PI / 180.0);
+
+ objTrans[0].getTransform(tr);
+ tr.setTranslation(new Vector3d(-3.0, 1.5, -6.5));
+ tr.mul(rotY15);
+ objTrans[0].setTransform(tr);
+
+ objTrans[1].getTransform(tr);
+ tr.setTranslation(new Vector3d(0.0, 1.5, -6.5));
+ tr.mul(rotY15);
+ objTrans[1].setTransform(tr);
+
+ objTrans[2].getTransform(tr);
+ tr.setTranslation(new Vector3d(3.0, 1.5, -6.5));
+ tr.mul(rotY15);
+ objTrans[2].setTransform(tr);
+
+ objTrans[3].getTransform(tr);
+ tr.setTranslation(new Vector3d(0.0, -2.0, -5.0));
+ tr.mul(rotY15);
+ objTrans[3].setTransform(tr);
+
+ // Now create simple geometries.
+
+ QuadArray g[] = new QuadArray[3];
+ Shape3D shape[] = new Shape3D[3];
+ for(int i=0; i<3; i++) {
+ g[i] = null;
+ shape[i] = null;
+ }
+
+ g[0] = new ColorPyramidUp();
+ g[1] = new ColorCube();
+ g[2] = new ColorPyramidDown();
+
+ Appearance a = new Appearance();
+
+ for(int i=0; i<3;i++) {
+ shape[i] = new Shape3D(g[i],a);
+ objTrans[i].addChild(shape[i]);
+ }
+
+ //
+ // Create a Morph node, and set the appearance and input geometry
+ // arrays. Set the Morph node's capability bits to allow the weights
+ // to be modified at runtime.
+ //
+ Morph morph = new Morph((GeometryArray[]) g, a);
+ morph.setCapability(Morph.ALLOW_WEIGHTS_READ);
+ morph.setCapability(Morph.ALLOW_WEIGHTS_WRITE);
+
+ objTrans[3].addChild(morph);
+
+ // Now create the Alpha object that controls the speed of the
+ // morphing operation.
+ Alpha morphAlpha = new Alpha(-1, Alpha.INCREASING_ENABLE |
+ Alpha.DECREASING_ENABLE,
+ 0, 0,
+ 4000, 1000, 500,
+ 4000, 1000, 500);
+
+ // Finally, create the morphing behavior
+ MorphingBehavior mBeh = new MorphingBehavior(morphAlpha, morph);
+ mBeh.setSchedulingBounds(bounds);
+ objScale.addChild(mBeh);
+
+ return objRoot;
+ }
+
+ public Pyramid2Cube() {
+ }
+
+ public void init() {
+ setLayout(new BorderLayout());
+ GraphicsConfiguration config =
+ SimpleUniverse.getPreferredConfiguration();
+
+ Canvas3D c = new Canvas3D(config);
+ add("Center", c);
+
+ // Create a simple scene and attach it to the virtual universe
+ BranchGroup scene = createSceneGraph();
+ u = new SimpleUniverse(c);
+
+ // This will move the ViewPlatform back a bit so the
+ // objects in the scene can be viewed.
+ u.getViewingPlatform().setNominalViewingTransform();
+
+ u.addBranchGraph(scene);
+ }
+
+ public void destroy() {
+ u.cleanup();
+ }
+
+ public static void main(String[] args) {
+ new MainFrame(new Pyramid2Cube(), 700, 700);
+ }
+}
diff --git a/src/Morphing/Pyramid2Cube_plugin.html b/src/Morphing/Pyramid2Cube_plugin.html
new file mode 100644
index 0000000..10cab7b
--- /dev/null
+++ b/src/Morphing/Pyramid2Cube_plugin.html
@@ -0,0 +1,39 @@
+<HTML>
+<HEAD>
+<TITLE>Pyramid2Cube</TITLE>
+</HEAD>
+<BODY BGCOLOR="#000000">
+<!--"CONVERTED_APPLET"-->
+<!-- CONVERTER VERSION 1.3 -->
+<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
+WIDTH = 700 HEIGHT = 700 ALIGN = middle codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0">
+<PARAM NAME = CODE VALUE = "Pyramid2Cube.class" >
+
+<PARAM NAME="type" VALUE="application/x-java-applet;version=1.2.2">
+<PARAM NAME="scriptable" VALUE="false">
+<COMMENT>
+<EMBED type="application/x-java-applet;version=1.2.2" CODE = "Pyramid2Cube.class" WIDTH = 700 HEIGHT = 700 ALIGN = middle scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"><NOEMBED></COMMENT>
+<blockquote>
+<hr>
+If you were using a Java-capable browser,
+you would see Hello Universe! instead of this paragraph.
+<hr>
+</blockquote>
+</NOEMBED></EMBED>
+</OBJECT>
+
+<!--
+<APPLET CODE = "Pyramid2Cube.class" WIDTH = 700 HEIGHT = 700 ALIGN = middle>
+<blockquote>
+<hr>
+If you were using a Java-capable browser,
+you would see Hello Universe! instead of this paragraph.
+<hr>
+</blockquote>
+
+</APPLET>
+-->
+<!--"END_CONVERTED_APPLET"-->
+
+</BODY>
+</HTML>
diff --git a/src/Morphing/build.xml b/src/Morphing/build.xml
new file mode 100644
index 0000000..cbf53a8
--- /dev/null
+++ b/src/Morphing/build.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0"?>
+
+<!--
+/*
+ * $RCSfile$
+ *
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistribution of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistribution in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Sun Microsystems, Inc. or the names of
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * This software is provided "AS IS," without a warranty of any
+ * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
+ * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
+ * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
+ * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
+ * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
+ * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
+ * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
+ * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
+ * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
+ * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGES.
+ *
+ * You acknowledge that this software is not designed, licensed or
+ * intended for use in the design, construction, operation or
+ * maintenance of any nuclear facility.
+ *
+ * $Revision$
+ * $Date$
+ * $State$
+ */
+ -->
+
+<project basedir="." default="compile">
+ <target name="compile">
+ <javac debug="true" deprecation="true" destdir="." srcdir=".">
+ </javac>
+ </target>
+
+ <target name="all" depends="compile">
+ </target>
+
+ <target description="Clean all build products." name="clean">
+ <delete>
+ <fileset dir=".">
+ <include name="**/*.class"/>
+ </fileset>
+ </delete>
+ </target>
+
+</project>
diff --git a/src/Morphing/hand1.obj b/src/Morphing/hand1.obj
new file mode 100644
index 0000000..3cfcd5c
--- /dev/null
+++ b/src/Morphing/hand1.obj
@@ -0,0 +1,846 @@
+# Mon Jun 02 17:09:33 1997
+#
+#
+
+g hand1
+v -0.551223 0.307562 -3.946050
+v -0.215465 0.030475 -3.703516
+v -0.059140 0.068255 -1.551531
+v -0.487235 0.455792 -4.006029
+v -0.168743 0.090975 -3.755638
+v -0.338689 0.569450 -4.244848
+v -0.639211 0.502297 -4.165243
+v -0.760687 0.647871 -4.482797
+v -0.529792 0.073768 -3.945949
+v -0.707612 0.258064 -4.192451
+v -0.866004 0.446161 -4.511733
+v -0.367733 -0.147323 -4.191223
+v -0.717413 0.071719 -4.433171
+v -0.893823 0.253971 -4.589350
+v -0.172976 -0.188212 -3.754734
+v -0.089148 -0.103984 -1.450071
+v -0.234491 -0.100206 -3.756646
+v -0.131305 -0.032994 -1.531782
+v -0.589492 0.641054 -4.376035
+v -0.050594 -0.257375 -4.417058
+v 0.208857 -0.205637 -4.768191
+v 0.007882 -0.231806 -4.028160
+v 0.230232 -0.186379 -4.335583
+v 0.390435 -0.043258 -4.060836
+v 0.002626 -0.129308 -1.430840
+v -0.058465 -0.217994 -3.717670
+v 0.087189 -0.100005 -1.425612
+v 0.044163 -0.171797 -3.707954
+v 0.044240 0.657156 -4.536777
+v -0.137070 0.604272 -4.344090
+v 0.041139 0.604901 -4.118776
+v -0.080844 0.531805 -3.993031
+v 0.165095 0.484110 -3.906230
+v -0.081629 0.087632 -3.782753
+v -0.013872 0.088823 -1.554481
+v 0.008630 0.041677 -3.708195
+v 0.070162 0.059225 -1.467241
+v 0.349126 0.784380 -4.327246
+v 0.192656 0.707311 -4.316467
+v 0.240026 0.669896 -4.092967
+v 0.614077 0.770599 -4.245997
+v 0.448901 0.789330 -4.242595
+v 0.390683 0.635870 -4.050064
+v 0.823568 1.030378 -5.230011
+v 0.583262 0.935220 -4.789198
+v 0.936485 1.075914 -5.144932
+v 0.708930 0.972489 -4.713959
+v 1.079595 1.050653 -5.079602
+v 0.863290 0.942616 -4.657226
+v 0.731356 0.950572 -5.335061
+v 0.698927 0.816156 -5.569689
+v 0.452954 0.862935 -4.860037
+v 0.354245 0.777679 -5.103039
+v 0.109515 -0.020305 -1.439012
+v 0.321579 0.190660 -3.847763
+v 0.056950 -0.068344 -3.678991
+v 0.551677 0.397382 -4.027330
+v 0.748943 0.261978 -4.201552
+v 0.797463 0.611225 -4.241810
+v 0.934536 0.472987 -4.298673
+v 0.919641 0.370477 -5.597496
+v 1.079582 0.375487 -5.341094
+v 1.225601 0.456396 -5.207421
+v 0.593068 0.043314 -5.202118
+v 0.711852 0.101000 -4.865152
+v 0.871615 0.211454 -4.690717
+v 1.063296 0.399320 -4.647913
+v 1.342637 0.585582 -5.122607
+v 1.150690 0.608137 -4.641154
+v 1.366648 0.748651 -5.071675
+v 0.745367 0.246406 -5.988852
+v 0.494019 -0.022198 -5.740361
+v 0.141480 -0.193021 -5.470416
+v 0.693354 0.148862 -6.455598
+v 0.458179 -0.058425 -6.342125
+v 0.092861 -0.121753 -6.334044
+v 0.001903 0.615014 -5.359071
+v 0.310613 0.694999 -5.659912
+v 0.602326 0.700149 -5.960638
+v 0.014377 0.478587 -6.304075
+v 0.335968 0.619833 -6.312831
+v 0.600780 0.612337 -6.446789
+v -0.303419 0.594566 -6.098518
+v -0.599974 0.655996 -6.132385
+v -0.241202 0.626083 -5.200386
+v -0.457099 0.677790 -5.161324
+v -0.259616 -0.163854 -6.116562
+v -0.183392 -0.223625 -5.241480
+v -0.635209 0.061396 -6.121774
+v -0.504788 -0.103060 -5.122423
+v -0.950019 0.234128 -5.837874
+v -0.810067 0.092804 -5.080121
+v -1.144829 0.478824 -5.746136
+v -0.998398 0.334709 -5.084644
+v -0.994164 0.856674 -5.773610
+v -0.863354 0.756330 -5.102725
+v -0.801998 0.842826 -5.870856
+v -0.671650 0.764754 -5.123487
+v 1.045049 0.802118 -4.632644
+v 1.252493 0.924338 -5.055513
+v -0.995449 0.583125 -5.083862
+v -1.137996 0.713069 -5.735577
+v 1.598002 0.816988 -5.564189
+v 1.599381 0.700758 -5.624741
+v 1.532017 0.614642 -5.716787
+v 1.715526 0.933794 -5.717422
+v 1.699604 0.816034 -5.787023
+v 1.629737 0.731598 -5.898082
+v 1.883043 1.059492 -5.899169
+v 1.855109 0.932664 -5.998640
+v 1.774384 0.842472 -6.140775
+v 1.424351 0.559021 -5.523375
+v 1.505227 0.658051 -5.434678
+v 1.502338 0.787710 -5.373565
+v 1.297397 0.577850 -5.903827
+v 1.425129 0.560695 -5.822476
+v 1.155962 0.509306 -5.718982
+v 1.300644 0.494656 -5.623770
+v 1.509245 0.835318 -6.384689
+v 1.646807 0.801147 -6.286009
+v 1.406474 0.713747 -6.133959
+v 1.525574 0.687385 -6.031679
+v 1.380351 1.065119 -5.565239
+v 1.564172 1.172023 -5.714888
+v 1.780605 1.304970 -5.893034
+v 1.255719 1.087198 -5.619839
+v 1.438416 1.182678 -5.766468
+v 1.652418 1.312790 -5.952035
+v 1.154437 1.043031 -5.702960
+v 1.320461 1.134701 -5.855917
+v 1.512782 1.262635 -6.051604
+v 1.003945 1.036752 -5.521133
+v 1.104476 1.081637 -5.435655
+v 1.236055 1.056913 -5.374795
+v 1.089111 0.843044 -5.888583
+v 1.089661 0.962064 -5.803318
+v 1.230625 0.966122 -6.097103
+v 1.242952 1.066407 -5.981094
+v 1.362597 1.098246 -6.323909
+v 1.405432 1.196541 -6.191591
+v 0.929064 0.824679 -5.709339
+v 0.934340 0.953520 -5.615597
+v 1.859089 1.203879 -5.868989
+v 1.664971 1.072200 -5.695913
+v 1.510868 0.957577 -5.544997
+v 1.391678 0.940769 -5.352942
+v 1.170557 0.692380 -5.926214
+v 1.027666 0.653090 -5.757548
+v 0.869972 0.619560 -5.748698
+v 1.295478 0.827279 -6.155195
+v 1.403801 0.956111 -6.395917
+v 1.981874 0.878914 -6.465936
+v 1.802272 0.826665 -6.577847
+v 1.615752 0.851027 -6.620514
+v 2.128560 0.944598 -6.721747
+v 1.907593 0.869058 -6.790360
+v 1.708489 0.849226 -6.769275
+v 2.238363 1.116521 -6.349912
+v 2.094190 1.105140 -6.141595
+v 2.237261 1.035889 -6.535950
+v 2.075505 0.976585 -6.291769
+v 1.727506 1.346013 -6.328338
+v 1.936762 1.311864 -6.600124
+v 1.576315 1.256378 -6.447272
+v 1.741231 1.205721 -6.680005
+v 1.483882 1.132384 -6.546886
+v 1.595348 1.106596 -6.700094
+v 2.143625 1.363027 -6.343407
+v 2.083770 1.364678 -6.472173
+v 1.997907 1.370713 -6.136065
+v 1.880283 1.392692 -6.219747
+v 2.220069 1.245977 -6.358671
+v 2.223785 1.204368 -6.587201
+v 2.097329 1.131385 -6.757537
+v 1.644286 0.966614 -6.763514
+v 1.867680 1.032451 -6.812611
+v 0.883363 0.124343 -7.228944
+v 0.646839 -0.024425 -7.259110
+v 0.390212 -0.005959 -7.292361
+v 1.070393 0.135169 -7.703971
+v 0.802047 0.006235 -7.763816
+v 0.511476 0.026061 -7.813804
+v 1.163011 0.161832 -8.064369
+v 0.918797 0.093289 -8.161346
+v 0.636154 0.076768 -8.160398
+v 0.269275 -0.049054 -6.787587
+v 0.524823 -0.050661 -6.806285
+v 0.744409 0.117607 -6.839493
+v 0.827585 0.571806 -7.238711
+v 1.016438 0.562215 -7.711038
+v 1.115469 0.520019 -8.067395
+v 0.573132 0.588769 -7.270417
+v 0.731449 0.578986 -7.772986
+v 0.865027 0.502425 -8.164807
+v 0.338782 0.438496 -7.299040
+v 0.460865 0.446711 -7.820236
+v 0.590458 0.430524 -8.163703
+v 0.208617 0.434283 -6.784674
+v 0.437333 0.591011 -6.807528
+v 0.678646 0.577267 -6.844694
+v 0.947532 0.372788 -7.222228
+v 0.797216 0.376391 -6.856188
+v 0.734974 0.417910 -6.504792
+v 1.142651 0.368565 -7.694477
+v 1.195867 0.347815 -8.107895
+v 0.272439 0.191555 -7.307303
+v 0.163854 0.163934 -6.807784
+v 0.050485 0.143298 -6.551455
+v 0.390845 0.216656 -7.842326
+v 0.587957 0.247899 -8.218260
+v -0.187159 -0.021301 -8.489817
+v -0.144520 -0.066015 -8.115219
+v -0.135056 -0.086523 -7.519433
+v -0.455856 -0.036286 -8.505733
+v -0.424768 -0.127085 -8.081474
+v -0.379623 -0.149656 -7.480232
+v -0.721089 0.002465 -8.418228
+v -0.711949 -0.032964 -8.033904
+v -0.633023 -0.036474 -7.439595
+v -0.083764 -0.101907 -6.888419
+v -0.321252 -0.155635 -6.827525
+v -0.570598 -0.013135 -6.792706
+v -0.205536 0.346922 -8.488331
+v -0.478068 0.389386 -8.503635
+v -0.741261 0.375015 -8.416031
+v -0.166164 0.372104 -8.112885
+v -0.454556 0.470532 -8.077909
+v -0.734413 0.413380 -8.030973
+v -0.161420 0.377122 -7.515023
+v -0.412007 0.496828 -7.474960
+v -0.653762 0.440220 -7.436335
+v -0.124968 0.400042 -6.878002
+v -0.359615 0.536135 -6.818819
+v -0.582637 0.502600 -6.791322
+v -0.736234 0.212481 -7.423101
+v -0.655151 0.259193 -6.812274
+v -0.663333 0.364684 -6.389957
+v -0.775997 0.191334 -8.463245
+v -0.822719 0.196893 -8.024588
+v -0.031942 0.130966 -6.924860
+v -0.055396 0.134692 -7.532089
+v -0.056604 0.146553 -8.134798
+v -0.157928 0.161766 -8.546125
+v -1.836226 1.016590 -7.410828
+v -1.627684 0.872918 -7.538481
+v -1.370280 0.758218 -7.595252
+v -1.747767 0.932613 -7.142950
+v -1.528535 0.732919 -7.246038
+v -1.256016 0.658972 -7.340291
+v -1.538345 0.794709 -6.746178
+v -1.346968 0.594312 -6.836720
+v -1.106538 0.540492 -6.926594
+v -1.327304 0.638226 -6.296957
+v -1.144801 0.423090 -6.386161
+v -0.907648 0.349198 -6.500935
+v -1.381548 1.162123 -6.749738
+v -1.167106 1.131764 -6.834267
+v -1.001718 0.954827 -6.919466
+v -1.579033 1.276060 -7.151250
+v -1.336962 1.223187 -7.246882
+v -1.140912 1.040889 -7.333368
+v -1.682336 1.295016 -7.423892
+v -1.479018 1.212733 -7.544489
+v -1.266431 1.072053 -7.592119
+v -1.173291 1.003628 -6.309747
+v -0.980917 0.984092 -6.395974
+v -0.826961 0.810684 -6.501183
+v -0.978037 0.704393 -6.955856
+v -1.119137 0.806439 -7.374477
+v -1.298471 0.903687 -7.643332
+v -0.811802 0.542748 -6.562383
+v -1.320080 0.864534 -6.271852
+v -1.536038 1.021683 -6.715133
+v -1.746360 1.149667 -7.118443
+v -1.808232 1.181964 -7.439637
+v 2.071132 1.255908 -6.105393
+v 1.505985 0.975476 -6.611821
+v 0.931009 0.299286 -8.285854
+v -0.474965 0.178488 -8.633644
+v -1.589683 1.061216 -7.631387
+v 0.763920 0.520049 -6.078023
+# 281 vertices
+
+# 0 texture vertices
+
+# 0 normals
+
+usemtl hand
+f 2 4 1
+f 5 4 2
+f 3 5 2
+f 5 6 4
+f 1 10 9
+f 1 7 10
+f 7 11 10
+f 7 8 11
+f 10 12 9
+f 12 10 13
+f 10 14 13
+f 10 11 14
+f 12 17 9
+f 12 15 17
+f 18 15 16
+f 15 18 17
+f 9 2 1
+f 9 17 2
+f 18 2 17
+f 2 18 3
+f 19 4 6
+f 7 4 19
+f 8 7 19
+f 7 1 4
+f 20 22 12
+f 23 22 20
+f 21 23 20
+f 23 24 22
+f 16 26 25
+f 16 15 26
+f 15 22 26
+f 15 12 22
+f 25 28 27
+f 25 26 28
+f 22 28 26
+f 28 22 24
+f 30 31 29
+f 32 31 30
+f 6 32 30
+f 32 33 31
+f 5 32 6
+f 32 5 34
+f 5 35 34
+f 5 3 35
+f 34 33 32
+f 33 34 36
+f 35 36 34
+f 36 35 37
+f 39 40 38
+f 31 40 39
+f 29 31 39
+f 31 33 40
+f 42 43 41
+f 40 43 42
+f 38 40 42
+f 40 33 43
+f 45 46 44
+f 46 45 47
+f 38 47 45
+f 47 38 42
+f 46 49 48
+f 46 47 49
+f 47 41 49
+f 47 42 41
+f 44 52 45
+f 44 50 52
+f 50 53 52
+f 50 51 53
+f 52 38 45
+f 38 52 39
+f 52 29 39
+f 52 53 29
+f 36 55 33
+f 55 36 56
+f 37 56 36
+f 56 37 54
+f 56 24 55
+f 24 56 28
+f 27 56 54
+f 56 27 28
+f 33 57 43
+f 33 55 57
+f 55 58 57
+f 55 24 58
+f 57 41 43
+f 41 57 59
+f 58 59 57
+f 59 58 60
+f 62 64 61
+f 64 62 65
+f 63 65 62
+f 65 63 66
+f 65 21 64
+f 21 65 23
+f 66 23 65
+f 23 66 24
+f 66 58 24
+f 58 66 67
+f 63 67 66
+f 67 63 68
+f 67 60 58
+f 60 67 69
+f 68 69 67
+f 69 68 70
+f 61 72 71
+f 61 64 72
+f 64 73 72
+f 64 21 73
+f 71 75 74
+f 71 72 75
+f 72 76 75
+f 72 73 76
+f 53 77 29
+f 77 53 78
+f 51 78 53
+f 78 51 79
+f 78 80 77
+f 80 78 81
+f 79 81 78
+f 81 79 82
+f 83 77 80
+f 77 83 85
+f 83 86 85
+f 83 84 86
+f 85 29 77
+f 29 85 30
+f 86 30 85
+f 30 86 6
+f 73 87 76
+f 87 73 88
+f 21 88 73
+f 88 21 20
+f 88 89 87
+f 89 88 90
+f 20 90 88
+f 90 20 12
+f 90 91 89
+f 91 90 92
+f 90 13 92
+f 90 12 13
+f 91 94 93
+f 91 92 94
+f 92 14 94
+f 92 13 14
+f 95 98 97
+f 95 96 98
+f 8 98 96
+f 98 8 19
+f 97 86 84
+f 97 98 86
+f 19 86 98
+f 86 19 6
+f 59 49 41
+f 49 59 99
+f 59 69 99
+f 59 60 69
+f 99 48 49
+f 48 99 100
+f 99 70 100
+f 99 69 70
+f 8 101 11
+f 8 96 101
+f 96 102 101
+f 96 95 102
+f 101 14 11
+f 14 101 94
+f 101 93 94
+f 101 102 93
+f 103 107 106
+f 103 104 107
+f 105 107 104
+f 107 105 108
+f 107 109 106
+f 109 107 110
+f 108 110 107
+f 110 108 111
+f 63 113 68
+f 63 112 113
+f 112 104 113
+f 112 105 104
+f 68 114 70
+f 68 113 114
+f 113 103 114
+f 113 104 103
+f 115 118 117
+f 115 116 118
+f 105 118 116
+f 118 105 112
+f 117 62 61
+f 117 118 62
+f 112 62 118
+f 62 112 63
+f 120 121 119
+f 121 120 122
+f 111 122 120
+f 122 111 108
+f 122 115 121
+f 115 122 116
+f 108 116 122
+f 116 108 105
+f 123 127 126
+f 123 124 127
+f 124 128 127
+f 124 125 128
+f 126 130 129
+f 126 127 130
+f 127 131 130
+f 127 128 131
+f 44 133 132
+f 44 46 133
+f 48 133 46
+f 133 48 134
+f 132 126 129
+f 132 133 126
+f 134 126 133
+f 126 134 123
+f 135 138 137
+f 135 136 138
+f 136 130 138
+f 136 129 130
+f 137 140 139
+f 137 138 140
+f 138 131 140
+f 138 130 131
+f 51 142 141
+f 51 50 142
+f 50 132 142
+f 50 44 132
+f 141 136 135
+f 141 142 136
+f 142 129 136
+f 142 132 129
+f 109 144 106
+f 109 143 144
+f 125 144 143
+f 144 125 124
+f 106 145 103
+f 106 144 145
+f 124 145 144
+f 145 124 123
+f 100 134 48
+f 134 100 146
+f 70 146 100
+f 146 70 114
+f 146 123 134
+f 123 146 145
+f 114 145 146
+f 145 114 103
+f 135 148 141
+f 135 147 148
+f 147 117 148
+f 147 115 117
+f 141 149 51
+f 141 148 149
+f 148 61 149
+f 148 117 61
+f 115 150 121
+f 115 147 150
+f 135 150 147
+f 150 135 137
+f 121 151 119
+f 121 150 151
+f 137 151 150
+f 151 137 139
+f 120 152 111
+f 152 120 153
+f 119 153 120
+f 153 119 154
+f 152 156 155
+f 152 153 156
+f 153 157 156
+f 153 154 157
+f 158 161 160
+f 158 159 161
+f 159 110 161
+f 159 109 110
+f 160 152 155
+f 160 161 152
+f 161 111 152
+f 161 110 111
+f 162 140 131
+f 140 162 164
+f 162 165 164
+f 162 163 165
+f 164 139 140
+f 139 164 166
+f 164 167 166
+f 164 165 167
+f 168 171 170
+f 168 169 171
+f 163 171 169
+f 171 163 162
+f 171 125 170
+f 125 171 128
+f 162 128 171
+f 128 162 131
+f 172 169 168
+f 169 172 173
+f 158 173 172
+f 173 158 160
+f 169 174 163
+f 169 173 174
+f 160 174 173
+f 174 160 155
+f 157 176 156
+f 157 175 176
+f 167 176 175
+f 176 167 165
+f 176 155 156
+f 155 176 174
+f 176 163 174
+f 176 165 163
+f 177 181 180
+f 177 178 181
+f 178 182 181
+f 178 179 182
+f 181 183 180
+f 183 181 184
+f 181 185 184
+f 181 182 185
+f 186 75 76
+f 75 186 187
+f 179 187 186
+f 187 179 178
+f 187 74 75
+f 74 187 188
+f 178 188 187
+f 188 178 177
+f 189 193 192
+f 189 190 193
+f 191 193 190
+f 193 191 194
+f 192 196 195
+f 192 193 196
+f 193 197 196
+f 193 194 197
+f 81 198 80
+f 198 81 199
+f 82 199 81
+f 199 82 200
+f 199 195 198
+f 195 199 192
+f 200 192 199
+f 192 200 189
+f 200 201 189
+f 201 200 202
+f 200 203 202
+f 200 82 203
+f 202 177 201
+f 177 202 188
+f 202 74 188
+f 202 203 74
+f 177 204 201
+f 177 180 204
+f 183 204 180
+f 204 183 205
+f 204 189 201
+f 189 204 190
+f 204 191 190
+f 204 205 191
+f 195 207 198
+f 195 206 207
+f 179 207 206
+f 207 179 186
+f 198 208 80
+f 198 207 208
+f 186 208 207
+f 208 186 76
+f 206 182 179
+f 182 206 209
+f 206 196 209
+f 206 195 196
+f 209 185 182
+f 185 209 210
+f 209 197 210
+f 209 196 197
+f 211 215 214
+f 211 212 215
+f 213 215 212
+f 215 213 216
+f 215 217 214
+f 217 215 218
+f 216 218 215
+f 218 216 219
+f 220 216 213
+f 216 220 221
+f 76 221 220
+f 221 76 87
+f 221 219 216
+f 219 221 222
+f 87 222 221
+f 222 87 89
+f 223 227 226
+f 223 224 227
+f 225 227 224
+f 227 225 228
+f 227 229 226
+f 229 227 230
+f 228 230 227
+f 230 228 231
+f 230 232 229
+f 232 230 233
+f 231 233 230
+f 233 231 234
+f 233 80 232
+f 80 233 83
+f 233 84 83
+f 233 234 84
+f 222 235 219
+f 235 222 236
+f 222 237 236
+f 222 89 237
+f 236 231 235
+f 231 236 234
+f 237 234 236
+f 234 237 84
+f 217 239 238
+f 217 218 239
+f 219 239 218
+f 239 219 235
+f 239 225 238
+f 225 239 228
+f 239 231 228
+f 239 235 231
+f 220 208 76
+f 208 220 240
+f 213 240 220
+f 240 213 241
+f 208 232 80
+f 208 240 232
+f 240 229 232
+f 240 241 229
+f 241 226 229
+f 226 241 242
+f 241 212 242
+f 241 213 212
+f 242 223 226
+f 223 242 243
+f 242 211 243
+f 242 212 211
+f 244 248 247
+f 244 245 248
+f 246 248 245
+f 248 246 249
+f 248 250 247
+f 250 248 251
+f 249 251 248
+f 251 249 252
+f 250 254 253
+f 250 251 254
+f 252 254 251
+f 254 252 255
+f 253 91 93
+f 253 254 91
+f 254 89 91
+f 254 255 89
+f 256 260 259
+f 256 257 260
+f 258 260 257
+f 260 258 261
+f 260 262 259
+f 262 260 263
+f 260 264 263
+f 260 261 264
+f 97 265 95
+f 265 97 266
+f 84 266 97
+f 266 84 267
+f 265 257 256
+f 265 266 257
+f 267 257 266
+f 257 267 258
+f 249 268 252
+f 268 249 269
+f 249 270 269
+f 249 246 270
+f 269 258 268
+f 258 269 261
+f 269 264 261
+f 269 270 264
+f 255 237 89
+f 237 255 271
+f 252 271 255
+f 271 252 268
+f 271 84 237
+f 84 271 267
+f 268 267 271
+f 267 268 258
+f 102 253 93
+f 253 102 272
+f 102 265 272
+f 102 95 265
+f 272 250 253
+f 250 272 273
+f 272 256 273
+f 272 265 256
+f 259 273 256
+f 273 259 274
+f 262 274 259
+f 274 262 275
+f 273 247 250
+f 273 274 247
+f 274 244 247
+f 274 275 244
+f 172 159 158
+f 159 172 276
+f 172 170 276
+f 172 168 170
+f 276 109 159
+f 109 276 143
+f 170 143 276
+f 143 170 125
+f 151 154 119
+f 154 151 277
+f 151 166 277
+f 151 139 166
+f 154 175 157
+f 154 277 175
+f 277 167 175
+f 277 166 167
+f 197 278 210
+f 197 194 278
+f 191 278 194
+f 278 191 205
+f 278 185 210
+f 185 278 184
+f 278 183 184
+f 278 205 183
+f 223 279 224
+f 223 243 279
+f 211 279 243
+f 279 211 214
+f 279 225 224
+f 225 279 238
+f 279 217 238
+f 279 214 217
+f 262 280 275
+f 262 263 280
+f 264 280 263
+f 280 264 270
+f 280 244 275
+f 244 280 245
+f 270 245 280
+f 245 270 246
+f 74 281 71
+f 74 203 281
+f 82 281 203
+f 281 82 79
+f 71 149 61
+f 71 281 149
+f 79 149 281
+f 149 79 51
+# 552 elements
diff --git a/src/Morphing/hand2.obj b/src/Morphing/hand2.obj
new file mode 100644
index 0000000..e7321c1
--- /dev/null
+++ b/src/Morphing/hand2.obj
@@ -0,0 +1,846 @@
+# Mon Jun 02 17:09:49 1997
+#
+#
+
+g hand2
+v -0.545629 0.226597 -3.972744
+v -0.215053 0.028788 -3.704237
+v -0.048631 -0.141870 -1.731539
+v -0.486661 0.360120 -4.035744
+v -0.168475 0.089529 -3.756256
+v -0.340613 0.471505 -4.270064
+v -0.635471 0.403031 -4.188368
+v -0.756139 0.537011 -4.495984
+v -0.519863 0.020651 -3.964786
+v -0.700655 0.190824 -4.211964
+v -0.861473 0.372102 -4.526962
+v -0.356499 -0.174538 -4.199869
+v -0.714045 0.044261 -4.445632
+v -0.890476 0.203518 -4.607591
+v -0.170313 -0.192685 -3.756315
+v -0.069766 -0.312358 -1.638721
+v -0.232940 -0.103910 -3.758020
+v -0.115092 -0.245076 -1.715384
+v -0.586581 0.541254 -4.390105
+v -0.035952 -0.274007 -4.418982
+v 0.255124 -0.249237 -4.776807
+v 0.018833 -0.240104 -4.027362
+v 0.284973 -0.207728 -4.316310
+v 0.434752 -0.000032 -4.022241
+v 0.022704 -0.329702 -1.621020
+v -0.055377 -0.221593 -3.718934
+v 0.105371 -0.295391 -1.615597
+v 0.046896 -0.174033 -3.708722
+v 0.033445 0.525248 -4.572588
+v -0.146022 0.491685 -4.378734
+v -0.008484 0.509017 -4.183765
+v -0.109786 0.450335 -4.040698
+v 0.106167 0.452120 -3.961211
+v -0.081537 0.087205 -3.782939
+v -0.004783 -0.118520 -1.734107
+v 0.008732 0.041375 -3.708363
+v 0.080374 -0.144013 -1.651651
+v 0.267743 0.688582 -4.403843
+v 0.134602 0.595547 -4.385927
+v 0.155445 0.603098 -4.172839
+v 0.510348 0.750695 -4.322186
+v 0.351763 0.725704 -4.323452
+v 0.293357 0.616488 -4.126201
+v 0.644985 0.911535 -5.278749
+v 0.476753 0.808807 -4.843080
+v 0.729327 1.001220 -5.209341
+v 0.576282 0.887766 -4.779078
+v 0.861206 1.041806 -5.155231
+v 0.720826 0.920527 -4.727794
+v 0.591358 0.800004 -5.365947
+v 0.601106 0.662395 -5.579942
+v 0.385222 0.705498 -4.899085
+v 0.327338 0.605102 -5.113508
+v 0.123562 -0.217362 -1.626587
+v 0.301415 0.221510 -3.856624
+v 0.057648 -0.069121 -3.679395
+v 0.481419 0.465636 -4.058800
+v 0.733329 0.364516 -4.192796
+v 0.715407 0.668961 -4.293678
+v 0.891503 0.576285 -4.325380
+v 0.925616 0.325221 -5.607038
+v 1.087404 0.428685 -5.355153
+v 1.192964 0.581656 -5.247297
+v 0.655301 -0.002104 -5.205223
+v 0.826001 0.093037 -4.822896
+v 0.936937 0.282795 -4.650935
+v 1.071822 0.521897 -4.652002
+v 1.253768 0.746632 -5.184807
+v 1.087957 0.735338 -4.683784
+v 1.216838 0.899384 -5.149589
+v 0.711147 0.230918 -6.030735
+v 0.476647 -0.030016 -5.767413
+v 0.142223 -0.215576 -5.512595
+v 0.589280 0.158661 -6.504986
+v 0.382367 -0.041679 -6.374435
+v 0.052545 -0.020831 -6.416378
+v 0.004866 0.539221 -5.338164
+v 0.294897 0.599163 -5.651150
+v 0.547241 0.615171 -5.966590
+v -0.001080 0.527218 -6.226285
+v 0.274900 0.607360 -6.287489
+v 0.507029 0.599694 -6.459079
+v -0.304989 0.605648 -6.026434
+v -0.588412 0.775369 -6.061018
+v -0.235417 0.550011 -5.181865
+v -0.450388 0.614566 -5.143874
+v -0.283040 -0.067515 -6.255307
+v -0.179973 -0.263960 -5.306118
+v -0.665295 0.178195 -6.225147
+v -0.506975 -0.143513 -5.176296
+v -0.975091 0.334957 -5.897993
+v -0.814140 0.069075 -5.111338
+v -1.151849 0.543036 -5.754441
+v -1.001447 0.285489 -5.111672
+v -0.965973 0.855410 -5.679462
+v -0.853225 0.658026 -5.081767
+v -0.768725 0.885422 -5.758699
+v -0.661677 0.680318 -5.098948
+v 0.926772 0.868255 -4.695576
+v 1.052723 1.006416 -5.135924
+v -0.991553 0.504328 -5.086818
+v -1.125149 0.731518 -5.686989
+v 1.303689 1.033657 -5.689645
+v 1.349170 0.926230 -5.744081
+v 1.316995 0.810848 -5.819848
+v 1.335402 1.170071 -5.865595
+v 1.362673 1.055005 -5.926610
+v 1.324385 0.938256 -6.020778
+v 1.410471 1.327249 -6.076220
+v 1.420585 1.201262 -6.166119
+v 1.368728 1.073079 -6.289456
+v 1.275447 0.732420 -5.607525
+v 1.315548 0.861839 -5.536830
+v 1.265631 0.978431 -5.481887
+v 1.109960 0.647515 -5.964428
+v 1.236318 0.701507 -5.903873
+v 1.045745 0.541486 -5.756546
+v 1.185145 0.607547 -5.683672
+v 1.126042 0.911004 -6.484125
+v 1.260541 0.959921 -6.409129
+v 1.116033 0.789199 -6.215408
+v 1.238526 0.835123 -6.132965
+v 1.008562 1.150313 -5.667244
+v 1.106643 1.305370 -5.848235
+v 1.233100 1.484675 -6.059801
+v 0.888559 1.106689 -5.702088
+v 0.985226 1.254602 -5.879530
+v 1.105698 1.433834 -6.098895
+v 0.812199 1.014149 -5.765767
+v 0.891119 1.151850 -5.946655
+v 0.987588 1.322413 -6.173646
+v 0.736157 0.957482 -5.567209
+v 0.810319 1.047137 -5.499653
+v 0.932046 1.090406 -5.456793
+v 0.822744 0.790022 -5.929116
+v 0.782579 0.903754 -5.850531
+v 0.867396 0.936043 -6.161350
+v 0.843523 1.042929 -6.053780
+v 0.911772 1.081739 -6.408180
+v 0.912443 1.201594 -6.290159
+v 0.737027 0.724935 -5.731150
+v 0.703318 0.847734 -5.646091
+v 1.341226 1.437246 -6.046185
+v 1.236369 1.267617 -5.841922
+v 1.167446 1.119645 -5.663458
+v 1.107867 1.064412 -5.452231
+v 0.948806 0.689125 -5.971970
+v 0.872849 0.609231 -5.783209
+v 0.781035 0.526092 -5.762100
+v 0.973032 0.836092 -6.223403
+v 0.994805 0.967427 -6.481477
+v 1.495197 1.158527 -6.645423
+v 1.354724 1.014236 -6.722411
+v 1.195778 0.940855 -6.732456
+v 1.565488 1.249424 -6.923759
+v 1.406339 1.071370 -6.949717
+v 1.265445 0.960990 -6.892314
+v 1.638914 1.485047 -6.580676
+v 1.546930 1.431636 -6.350698
+v 1.642671 1.399706 -6.762676
+v 1.557898 1.303849 -6.492972
+v 1.099399 1.460928 -6.484489
+v 1.242754 1.502103 -6.790419
+v 0.999544 1.301628 -6.571692
+v 1.118751 1.308856 -6.829766
+v 0.979609 1.139385 -6.646541
+v 1.060424 1.149347 -6.815580
+v 1.455248 1.654590 -6.566786
+v 1.372638 1.624035 -6.688066
+v 1.365156 1.609915 -6.335397
+v 1.234614 1.575107 -6.401853
+v 1.565822 1.588197 -6.591331
+v 1.547752 1.535880 -6.818796
+v 1.445347 1.397323 -6.963596
+v 1.158417 1.039164 -6.880589
+v 1.288292 1.198123 -6.973975
+v 0.664087 0.148083 -7.294943
+v 0.435748 0.025040 -7.292446
+v 0.212877 0.160088 -7.281471
+v 0.785373 0.173634 -7.783887
+v 0.518575 0.067897 -7.800985
+v 0.271345 0.242325 -7.758057
+v 0.826827 0.208746 -8.147941
+v 0.572939 0.148727 -8.206624
+v 0.325508 0.231584 -8.119010
+v 0.164075 0.075407 -6.818721
+v 0.380953 -0.013843 -6.839242
+v 0.580180 0.132467 -6.892866
+v 0.608535 0.593486 -7.282530
+v 0.726502 0.591761 -7.775616
+v 0.772896 0.554086 -8.142780
+v 0.360286 0.622050 -7.265000
+v 0.437249 0.612740 -7.792085
+v 0.509853 0.535394 -8.204787
+v 0.160224 0.549868 -7.218602
+v 0.209808 0.590107 -7.721076
+v 0.267898 0.534017 -8.108936
+v 0.111090 0.516500 -6.720913
+v 0.298230 0.611278 -6.790854
+v 0.518079 0.589180 -6.874673
+v 0.726888 0.393165 -7.292970
+v 0.628159 0.389210 -6.913399
+v 0.624790 0.421710 -6.550771
+v 0.855781 0.401525 -7.780616
+v 0.850483 0.389631 -8.193182
+v 0.126257 0.432018 -7.223687
+v 0.081097 0.333542 -6.781929
+v 0.024773 0.331692 -6.543201
+v 0.179967 0.513803 -7.691848
+v 0.270466 0.398086 -8.149796
+v -0.085803 2.071088 -7.365792
+v -0.089283 1.657050 -7.409026
+v -0.132752 1.024134 -7.355868
+v -0.339231 2.178852 -7.313980
+v -0.362585 1.717826 -7.403921
+v -0.376816 1.020220 -7.374946
+v -0.609086 2.098261 -7.268658
+v -0.644951 1.683101 -7.308946
+v -0.620699 1.049622 -7.252518
+v -0.115696 0.389618 -6.975528
+v -0.348229 0.364394 -6.960135
+v -0.589678 0.477314 -6.850625
+v -0.063362 2.126922 -6.994926
+v -0.317776 2.207434 -6.893541
+v -0.592443 2.122036 -6.922650
+v -0.060384 1.753711 -6.967503
+v -0.330655 1.784850 -6.821116
+v -0.622382 1.744780 -6.913632
+v -0.111831 1.216582 -6.951138
+v -0.351669 1.253255 -6.832911
+v -0.599234 1.235825 -6.874247
+v -0.113630 0.786347 -6.638087
+v -0.343041 0.846074 -6.551879
+v -0.571143 0.863954 -6.597034
+v -0.702952 1.143454 -7.043127
+v -0.659979 0.708124 -6.719869
+v -0.688492 0.602267 -6.399982
+v -0.640513 2.158446 -7.091597
+v -0.733751 1.708568 -7.108687
+v -0.042639 0.608451 -6.846946
+v -0.033981 1.117844 -7.181334
+v 0.014576 1.681971 -7.232140
+v -0.034099 2.140646 -7.197904
+v -1.427884 2.125531 -6.104109
+v -1.232856 2.217431 -6.261067
+v -1.030471 2.172613 -6.454438
+v -1.433002 1.846260 -6.128913
+v -1.256178 1.899456 -6.333560
+v -1.021006 1.878065 -6.513752
+v -1.382181 1.396092 -6.219269
+v -1.241525 1.399828 -6.428739
+v -1.025330 1.377688 -6.574033
+v -1.304705 0.946481 -6.184714
+v -1.170819 0.841650 -6.394479
+v -0.946587 0.786927 -6.537124
+v -1.133362 1.480745 -5.995321
+v -0.908216 1.491027 -6.055746
+v -0.781984 1.482366 -6.234836
+v -1.166789 1.889461 -5.900780
+v -0.912111 1.929120 -5.973505
+v -0.773154 1.928164 -6.197147
+v -1.192128 2.159473 -5.918907
+v -0.979939 2.235226 -6.018824
+v -0.820842 2.203268 -6.203417
+v -1.073035 1.127979 -6.002315
+v -0.883316 1.138491 -6.095742
+v -0.766101 1.081268 -6.289536
+v -0.842475 1.437964 -6.469625
+v -0.835837 1.902370 -6.431089
+v -0.901630 2.225091 -6.358479
+v -0.809658 0.951527 -6.487935
+v -1.248762 1.053319 -6.037439
+v -1.326974 1.438433 -6.057952
+v -1.378537 1.859137 -5.972835
+v -1.347264 2.171041 -5.994931
+v 1.476370 1.548335 -6.314360
+v 1.060616 1.003273 -6.708851
+v 0.566455 0.353316 -8.324208
+v -0.326088 2.309241 -7.118046
+v -1.118212 2.311149 -6.146525
+v 0.706268 0.472086 -6.106736
+# 281 vertices
+
+# 0 texture vertices
+
+# 0 normals
+
+usemtl hand
+f 2 4 1
+f 5 4 2
+f 3 5 2
+f 5 6 4
+f 1 10 9
+f 1 7 10
+f 7 11 10
+f 7 8 11
+f 10 12 9
+f 12 10 13
+f 10 14 13
+f 10 11 14
+f 12 17 9
+f 12 15 17
+f 18 15 16
+f 15 18 17
+f 9 2 1
+f 9 17 2
+f 18 2 17
+f 2 18 3
+f 19 4 6
+f 7 4 19
+f 8 7 19
+f 7 1 4
+f 20 22 12
+f 23 22 20
+f 21 23 20
+f 23 24 22
+f 16 26 25
+f 16 15 26
+f 15 22 26
+f 15 12 22
+f 25 28 27
+f 25 26 28
+f 22 28 26
+f 28 22 24
+f 30 31 29
+f 32 31 30
+f 6 32 30
+f 32 33 31
+f 5 32 6
+f 32 5 34
+f 5 35 34
+f 5 3 35
+f 34 33 32
+f 33 34 36
+f 35 36 34
+f 36 35 37
+f 39 40 38
+f 31 40 39
+f 29 31 39
+f 31 33 40
+f 42 43 41
+f 40 43 42
+f 38 40 42
+f 40 33 43
+f 45 46 44
+f 46 45 47
+f 38 47 45
+f 47 38 42
+f 46 49 48
+f 46 47 49
+f 47 41 49
+f 47 42 41
+f 44 52 45
+f 44 50 52
+f 50 53 52
+f 50 51 53
+f 52 38 45
+f 38 52 39
+f 52 29 39
+f 52 53 29
+f 36 55 33
+f 55 36 56
+f 37 56 36
+f 56 37 54
+f 56 24 55
+f 24 56 28
+f 27 56 54
+f 56 27 28
+f 33 57 43
+f 33 55 57
+f 55 58 57
+f 55 24 58
+f 57 41 43
+f 41 57 59
+f 58 59 57
+f 59 58 60
+f 62 64 61
+f 64 62 65
+f 63 65 62
+f 65 63 66
+f 65 21 64
+f 21 65 23
+f 66 23 65
+f 23 66 24
+f 66 58 24
+f 58 66 67
+f 63 67 66
+f 67 63 68
+f 67 60 58
+f 60 67 69
+f 68 69 67
+f 69 68 70
+f 61 72 71
+f 61 64 72
+f 64 73 72
+f 64 21 73
+f 71 75 74
+f 71 72 75
+f 72 76 75
+f 72 73 76
+f 53 77 29
+f 77 53 78
+f 51 78 53
+f 78 51 79
+f 78 80 77
+f 80 78 81
+f 79 81 78
+f 81 79 82
+f 83 77 80
+f 77 83 85
+f 83 86 85
+f 83 84 86
+f 85 29 77
+f 29 85 30
+f 86 30 85
+f 30 86 6
+f 73 87 76
+f 87 73 88
+f 21 88 73
+f 88 21 20
+f 88 89 87
+f 89 88 90
+f 20 90 88
+f 90 20 12
+f 90 91 89
+f 91 90 92
+f 90 13 92
+f 90 12 13
+f 91 94 93
+f 91 92 94
+f 92 14 94
+f 92 13 14
+f 95 98 97
+f 95 96 98
+f 8 98 96
+f 98 8 19
+f 97 86 84
+f 97 98 86
+f 19 86 98
+f 86 19 6
+f 59 49 41
+f 49 59 99
+f 59 69 99
+f 59 60 69
+f 99 48 49
+f 48 99 100
+f 99 70 100
+f 99 69 70
+f 8 101 11
+f 8 96 101
+f 96 102 101
+f 96 95 102
+f 101 14 11
+f 14 101 94
+f 101 93 94
+f 101 102 93
+f 103 107 106
+f 103 104 107
+f 105 107 104
+f 107 105 108
+f 107 109 106
+f 109 107 110
+f 108 110 107
+f 110 108 111
+f 63 113 68
+f 63 112 113
+f 112 104 113
+f 112 105 104
+f 68 114 70
+f 68 113 114
+f 113 103 114
+f 113 104 103
+f 115 118 117
+f 115 116 118
+f 105 118 116
+f 118 105 112
+f 117 62 61
+f 117 118 62
+f 112 62 118
+f 62 112 63
+f 120 121 119
+f 121 120 122
+f 111 122 120
+f 122 111 108
+f 122 115 121
+f 115 122 116
+f 108 116 122
+f 116 108 105
+f 123 127 126
+f 123 124 127
+f 124 128 127
+f 124 125 128
+f 126 130 129
+f 126 127 130
+f 127 131 130
+f 127 128 131
+f 44 133 132
+f 44 46 133
+f 48 133 46
+f 133 48 134
+f 132 126 129
+f 132 133 126
+f 134 126 133
+f 126 134 123
+f 135 138 137
+f 135 136 138
+f 136 130 138
+f 136 129 130
+f 137 140 139
+f 137 138 140
+f 138 131 140
+f 138 130 131
+f 51 142 141
+f 51 50 142
+f 50 132 142
+f 50 44 132
+f 141 136 135
+f 141 142 136
+f 142 129 136
+f 142 132 129
+f 109 144 106
+f 109 143 144
+f 125 144 143
+f 144 125 124
+f 106 145 103
+f 106 144 145
+f 124 145 144
+f 145 124 123
+f 100 134 48
+f 134 100 146
+f 70 146 100
+f 146 70 114
+f 146 123 134
+f 123 146 145
+f 114 145 146
+f 145 114 103
+f 135 148 141
+f 135 147 148
+f 147 117 148
+f 147 115 117
+f 141 149 51
+f 141 148 149
+f 148 61 149
+f 148 117 61
+f 115 150 121
+f 115 147 150
+f 135 150 147
+f 150 135 137
+f 121 151 119
+f 121 150 151
+f 137 151 150
+f 151 137 139
+f 120 152 111
+f 152 120 153
+f 119 153 120
+f 153 119 154
+f 152 156 155
+f 152 153 156
+f 153 157 156
+f 153 154 157
+f 158 161 160
+f 158 159 161
+f 159 110 161
+f 159 109 110
+f 160 152 155
+f 160 161 152
+f 161 111 152
+f 161 110 111
+f 162 140 131
+f 140 162 164
+f 162 165 164
+f 162 163 165
+f 164 139 140
+f 139 164 166
+f 164 167 166
+f 164 165 167
+f 168 171 170
+f 168 169 171
+f 163 171 169
+f 171 163 162
+f 171 125 170
+f 125 171 128
+f 162 128 171
+f 128 162 131
+f 172 169 168
+f 169 172 173
+f 158 173 172
+f 173 158 160
+f 169 174 163
+f 169 173 174
+f 160 174 173
+f 174 160 155
+f 157 176 156
+f 157 175 176
+f 167 176 175
+f 176 167 165
+f 176 155 156
+f 155 176 174
+f 176 163 174
+f 176 165 163
+f 177 181 180
+f 177 178 181
+f 178 182 181
+f 178 179 182
+f 181 183 180
+f 183 181 184
+f 181 185 184
+f 181 182 185
+f 186 75 76
+f 75 186 187
+f 179 187 186
+f 187 179 178
+f 187 74 75
+f 74 187 188
+f 178 188 187
+f 188 178 177
+f 189 193 192
+f 189 190 193
+f 191 193 190
+f 193 191 194
+f 192 196 195
+f 192 193 196
+f 193 197 196
+f 193 194 197
+f 81 198 80
+f 198 81 199
+f 82 199 81
+f 199 82 200
+f 199 195 198
+f 195 199 192
+f 200 192 199
+f 192 200 189
+f 200 201 189
+f 201 200 202
+f 200 203 202
+f 200 82 203
+f 202 177 201
+f 177 202 188
+f 202 74 188
+f 202 203 74
+f 177 204 201
+f 177 180 204
+f 183 204 180
+f 204 183 205
+f 204 189 201
+f 189 204 190
+f 204 191 190
+f 204 205 191
+f 195 207 198
+f 195 206 207
+f 179 207 206
+f 207 179 186
+f 198 208 80
+f 198 207 208
+f 186 208 207
+f 208 186 76
+f 206 182 179
+f 182 206 209
+f 206 196 209
+f 206 195 196
+f 209 185 182
+f 185 209 210
+f 209 197 210
+f 209 196 197
+f 211 215 214
+f 211 212 215
+f 213 215 212
+f 215 213 216
+f 215 217 214
+f 217 215 218
+f 216 218 215
+f 218 216 219
+f 220 216 213
+f 216 220 221
+f 76 221 220
+f 221 76 87
+f 221 219 216
+f 219 221 222
+f 87 222 221
+f 222 87 89
+f 223 227 226
+f 223 224 227
+f 225 227 224
+f 227 225 228
+f 227 229 226
+f 229 227 230
+f 228 230 227
+f 230 228 231
+f 230 232 229
+f 232 230 233
+f 231 233 230
+f 233 231 234
+f 233 80 232
+f 80 233 83
+f 233 84 83
+f 233 234 84
+f 222 235 219
+f 235 222 236
+f 222 237 236
+f 222 89 237
+f 236 231 235
+f 231 236 234
+f 237 234 236
+f 234 237 84
+f 217 239 238
+f 217 218 239
+f 219 239 218
+f 239 219 235
+f 239 225 238
+f 225 239 228
+f 239 231 228
+f 239 235 231
+f 220 208 76
+f 208 220 240
+f 213 240 220
+f 240 213 241
+f 208 232 80
+f 208 240 232
+f 240 229 232
+f 240 241 229
+f 241 226 229
+f 226 241 242
+f 241 212 242
+f 241 213 212
+f 242 223 226
+f 223 242 243
+f 242 211 243
+f 242 212 211
+f 244 248 247
+f 244 245 248
+f 246 248 245
+f 248 246 249
+f 248 250 247
+f 250 248 251
+f 249 251 248
+f 251 249 252
+f 250 254 253
+f 250 251 254
+f 252 254 251
+f 254 252 255
+f 253 91 93
+f 253 254 91
+f 254 89 91
+f 254 255 89
+f 256 260 259
+f 256 257 260
+f 258 260 257
+f 260 258 261
+f 260 262 259
+f 262 260 263
+f 260 264 263
+f 260 261 264
+f 97 265 95
+f 265 97 266
+f 84 266 97
+f 266 84 267
+f 265 257 256
+f 265 266 257
+f 267 257 266
+f 257 267 258
+f 249 268 252
+f 268 249 269
+f 249 270 269
+f 249 246 270
+f 269 258 268
+f 258 269 261
+f 269 264 261
+f 269 270 264
+f 255 237 89
+f 237 255 271
+f 252 271 255
+f 271 252 268
+f 271 84 237
+f 84 271 267
+f 268 267 271
+f 267 268 258
+f 102 253 93
+f 253 102 272
+f 102 265 272
+f 102 95 265
+f 272 250 253
+f 250 272 273
+f 272 256 273
+f 272 265 256
+f 259 273 256
+f 273 259 274
+f 262 274 259
+f 274 262 275
+f 273 247 250
+f 273 274 247
+f 274 244 247
+f 274 275 244
+f 172 159 158
+f 159 172 276
+f 172 170 276
+f 172 168 170
+f 276 109 159
+f 109 276 143
+f 170 143 276
+f 143 170 125
+f 151 154 119
+f 154 151 277
+f 151 166 277
+f 151 139 166
+f 154 175 157
+f 154 277 175
+f 277 167 175
+f 277 166 167
+f 197 278 210
+f 197 194 278
+f 191 278 194
+f 278 191 205
+f 278 185 210
+f 185 278 184
+f 278 183 184
+f 278 205 183
+f 223 279 224
+f 223 243 279
+f 211 279 243
+f 279 211 214
+f 279 225 224
+f 225 279 238
+f 279 217 238
+f 279 214 217
+f 262 280 275
+f 262 263 280
+f 264 280 263
+f 280 264 270
+f 280 244 275
+f 244 280 245
+f 270 245 280
+f 245 270 246
+f 74 281 71
+f 74 203 281
+f 82 281 203
+f 281 82 79
+f 71 149 61
+f 71 281 149
+f 79 149 281
+f 149 79 51
+# 552 elements
diff --git a/src/Morphing/hand3.obj b/src/Morphing/hand3.obj
new file mode 100644
index 0000000..865b440
--- /dev/null
+++ b/src/Morphing/hand3.obj
@@ -0,0 +1,846 @@
+# Mon Jun 02 17:10:02 1997
+#
+#
+
+g hand3
+v -0.532397 0.197223 -3.999972
+v -0.214601 0.028608 -3.704992
+v -0.062767 -0.039672 -1.969593
+v -0.474970 0.318713 -4.067389
+v -0.168129 0.089251 -3.756891
+v -0.328587 0.420355 -4.296443
+v -0.623073 0.363357 -4.216684
+v -0.746171 0.497060 -4.524076
+v -0.506368 0.006295 -3.982003
+v -0.689049 0.168417 -4.231982
+v -0.853662 0.351475 -4.548802
+v -0.344509 -0.179734 -4.206146
+v -0.709169 0.037344 -4.456913
+v -0.884746 0.194925 -4.627260
+v -0.168024 -0.191951 -3.757912
+v -0.076841 -0.196481 -1.877360
+v -0.231457 -0.103955 -3.759368
+v -0.123436 -0.138285 -1.951048
+v -0.575776 0.499057 -4.413718
+v -0.022556 -0.274054 -4.419171
+v 0.295391 -0.244860 -4.781412
+v 0.027764 -0.237028 -4.026483
+v 0.328292 -0.191608 -4.297441
+v 0.452126 0.065151 -3.999771
+v 0.014266 -0.206977 -1.861471
+v -0.053052 -0.219763 -3.720458
+v 0.093672 -0.170271 -1.858756
+v 0.048687 -0.171678 -3.710009
+v 0.050155 0.444476 -4.604692
+v -0.133492 0.423989 -4.410464
+v -0.027107 0.434472 -4.242275
+v -0.117598 0.396084 -4.085021
+v 0.065233 0.421440 -4.017992
+v -0.081428 0.087141 -3.783137
+v -0.020959 -0.015459 -1.973519
+v 0.008804 0.041460 -3.708582
+v 0.062893 -0.032292 -1.896764
+v 0.225177 0.615409 -4.482480
+v 0.113530 0.511149 -4.450598
+v 0.102865 0.542478 -4.253375
+v 0.431656 0.735739 -4.416512
+v 0.288424 0.675882 -4.413925
+v 0.218974 0.589731 -4.211629
+v 0.541405 0.777453 -5.314148
+v 0.432074 0.710021 -4.892318
+v 0.593949 0.890727 -5.268293
+v 0.501790 0.814034 -4.847951
+v 0.700343 0.972337 -5.234181
+v 0.623032 0.889368 -4.811626
+v 0.521872 0.654464 -5.378404
+v 0.555062 0.525950 -5.571719
+v 0.375075 0.594255 -4.928543
+v 0.345045 0.495994 -5.115907
+v 0.108176 -0.097133 -1.871658
+v 0.273705 0.252739 -3.878058
+v 0.058055 -0.068344 -3.680041
+v 0.405284 0.512264 -4.112417
+v 0.687825 0.464139 -4.216795
+v 0.632930 0.719769 -4.375288
+v 0.825419 0.677113 -4.390901
+v 0.917800 0.280915 -5.602854
+v 1.056579 0.438767 -5.371966
+v 1.116715 0.631123 -5.302998
+v 0.705199 0.003471 -5.203117
+v 0.907904 0.141760 -4.788020
+v 0.962510 0.376613 -4.635034
+v 1.041596 0.636992 -4.691114
+v 1.130266 0.811997 -5.270994
+v 1.005013 0.831826 -4.762492
+v 1.055534 0.946727 -5.251543
+v 0.677585 0.233496 -6.061008
+v 0.460633 -0.018720 -5.787735
+v 0.144938 -0.190839 -5.542907
+v 0.494372 0.173628 -6.534559
+v 0.317081 -0.008497 -6.384122
+v 0.027201 0.131783 -6.428380
+v 0.013685 0.508910 -5.331713
+v 0.293216 0.555930 -5.655271
+v 0.510499 0.560260 -5.972243
+v -0.013202 0.565924 -6.175734
+v 0.224494 0.612542 -6.271984
+v 0.426059 0.599110 -6.464377
+v -0.306255 0.646060 -5.996577
+v -0.569808 0.913747 -5.981158
+v -0.228316 0.516391 -5.181461
+v -0.445620 0.586733 -5.146332
+v -0.293245 0.113327 -6.323775
+v -0.173597 -0.243629 -5.356423
+v -0.670974 0.376359 -6.246881
+v -0.505876 -0.129238 -5.220592
+v -0.981059 0.486591 -5.904088
+v -0.816316 0.081391 -5.139109
+v -1.148463 0.669179 -5.736072
+v -1.003358 0.292548 -5.142035
+v -0.951535 0.915719 -5.633423
+v -0.848045 0.626223 -5.094282
+v -0.743315 0.948671 -5.677959
+v -0.655824 0.645151 -5.103795
+v 0.822461 0.905362 -4.784215
+v 0.878885 0.998810 -5.230596
+v -0.989810 0.492494 -5.109306
+v -1.116492 0.823014 -5.656571
+v 0.996042 1.008486 -5.820419
+v 1.064506 0.912915 -5.870014
+v 1.060480 0.782157 -5.923663
+v 0.953680 1.113737 -6.014114
+v 1.005018 1.004616 -6.065710
+v 0.992276 0.867260 -6.135736
+v 0.944026 1.244268 -6.251624
+v 0.973965 1.115774 -6.327374
+v 0.945827 0.958451 -6.421946
+v 1.083427 0.733990 -5.698505
+v 1.090716 0.878610 -5.652200
+v 1.016854 0.980850 -5.602205
+v 0.904979 0.542860 -6.003450
+v 1.010214 0.640802 -5.976042
+v 0.918015 0.464134 -5.777233
+v 1.030665 0.577144 -5.740035
+v 0.758712 0.703562 -6.541620
+v 0.866703 0.798472 -6.502394
+v 0.825719 0.632441 -6.264884
+v 0.930940 0.724822 -6.214890
+v 0.693610 1.030609 -5.753376
+v 0.707614 1.171851 -5.966817
+v 0.745009 1.336440 -6.216925
+v 0.595931 0.948287 -5.758795
+v 0.607525 1.083062 -5.967039
+v 0.635682 1.245807 -6.223903
+v 0.548429 0.829721 -5.795010
+v 0.543563 0.948272 -6.001235
+v 0.548405 1.095687 -6.260015
+v 0.548777 0.793549 -5.588580
+v 0.593876 0.906330 -5.546043
+v 0.689842 0.988075 -5.529473
+v 0.608749 0.600589 -5.930038
+v 0.547295 0.706322 -5.859049
+v 0.567538 0.708497 -6.180083
+v 0.523106 0.816241 -6.083089
+v 0.535313 0.817538 -6.443928
+v 0.506392 0.943775 -6.343649
+v 0.600681 0.560351 -5.721073
+v 0.545933 0.674730 -5.647308
+v 0.856788 1.328405 -6.220259
+v 0.836996 1.177698 -5.982326
+v 0.846715 1.051347 -5.777648
+v 0.851110 1.017751 -5.553206
+v 0.745225 0.534151 -5.983995
+v 0.739831 0.476319 -5.779583
+v 0.715754 0.412378 -5.751285
+v 0.683826 0.635181 -6.249702
+v 0.633316 0.723667 -6.518804
+v 0.980715 1.013307 -6.803527
+v 0.892386 0.823377 -6.831568
+v 0.786718 0.714033 -6.798828
+v 0.975463 1.069959 -7.098132
+v 0.890573 0.852994 -7.068334
+v 0.825719 0.727882 -6.968780
+v 1.025155 1.371318 -6.805808
+v 0.995242 1.333836 -6.557353
+v 1.022430 1.262102 -6.975050
+v 1.017056 1.195056 -6.684767
+v 0.555587 1.202589 -6.599424
+v 0.612038 1.229948 -6.932652
+v 0.508225 1.012148 -6.644658
+v 0.562058 1.006498 -6.921506
+v 0.546766 0.850772 -6.693409
+v 0.585298 0.851819 -6.874451
+v 0.808246 1.473531 -6.773156
+v 0.714197 1.400582 -6.872624
+v 0.784961 1.443287 -6.523914
+v 0.661185 1.361980 -6.558956
+v 0.923633 1.442370 -6.812841
+v 0.880870 1.349604 -7.026019
+v 0.806732 1.163577 -7.130162
+v 0.703304 0.769882 -6.944597
+v 0.730493 0.929054 -7.083601
+v 0.467013 0.166173 -7.322286
+v 0.252376 0.062331 -7.273434
+v 0.071629 0.273589 -7.155980
+v 0.529329 0.193273 -7.810286
+v 0.270539 0.096977 -7.776154
+v 0.075855 0.318280 -7.578300
+v 0.525577 0.226801 -8.169828
+v 0.268313 0.167598 -8.189743
+v 0.062406 0.262263 -7.985266
+v 0.085250 0.215999 -6.753068
+v 0.257265 0.029724 -6.830193
+v 0.432281 0.147121 -6.919346
+v 0.412813 0.603853 -7.296127
+v 0.466553 0.601779 -7.797064
+v 0.466023 0.565097 -8.166368
+v 0.174599 0.635304 -7.236838
+v 0.178594 0.622429 -7.773725
+v 0.196329 0.546003 -8.196803
+v 0.010991 0.597067 -7.106261
+v -0.002380 0.607430 -7.576752
+v -0.009555 0.537996 -8.004534
+v 0.032977 0.584260 -6.637498
+v 0.178619 0.629919 -6.764370
+v 0.375331 0.599437 -6.884651
+v 0.527273 0.406770 -7.327760
+v 0.475094 0.400761 -6.944777
+v 0.524815 0.430983 -6.577858
+v 0.596379 0.415394 -7.817393
+v 0.540282 0.403398 -8.220389
+v 0.014701 0.567519 -7.027500
+v 0.022146 0.486002 -6.671004
+v 0.012141 0.498590 -6.467365
+v 0.012762 0.578347 -7.426854
+v 0.000619 0.410973 -8.007980
+v 0.092196 1.869408 -5.545787
+v 0.047882 1.788186 -5.963855
+v -0.060104 1.571916 -6.553101
+v -0.143875 1.937950 -5.383014
+v -0.207255 1.899992 -5.860848
+v -0.295062 1.638036 -6.546325
+v -0.421009 1.885218 -5.447442
+v -0.494485 1.814856 -5.875438
+v -0.539028 1.586470 -6.471877
+v -0.106805 0.842813 -6.743448
+v -0.330308 0.861681 -6.742823
+v -0.563357 0.915028 -6.614289
+v 0.092672 1.563475 -5.409472
+v -0.152484 1.549881 -5.266574
+v -0.427491 1.564068 -5.366186
+v 0.055291 1.459964 -5.769153
+v -0.213200 1.392345 -5.673015
+v -0.489819 1.484210 -5.757663
+v -0.047655 1.402047 -6.272863
+v -0.286444 1.362850 -6.194754
+v -0.519624 1.405953 -6.217000
+v -0.089194 0.975227 -6.316360
+v -0.314427 0.991839 -6.268511
+v -0.524734 1.082759 -6.324799
+v -0.620360 1.490346 -6.331055
+v -0.618762 1.036157 -6.434135
+v -0.671873 0.861513 -6.294051
+v -0.458822 1.733320 -5.357014
+v -0.588193 1.649792 -5.825307
+v -0.026324 0.948276 -6.554249
+v 0.032057 1.491511 -6.432297
+v 0.133877 1.609963 -5.922091
+v 0.135806 1.725175 -5.451552
+v -1.006792 1.503643 -5.022816
+v -0.746747 1.667615 -5.005004
+v -0.544041 1.766946 -5.171136
+v -1.101978 1.447230 -5.268406
+v -0.865298 1.642242 -5.298347
+v -0.629541 1.716881 -5.454040
+v -1.200089 1.376122 -5.716522
+v -1.019358 1.528275 -5.796288
+v -0.804275 1.567503 -5.929291
+v -1.252437 1.200355 -6.000518
+v -1.113296 1.218534 -6.177490
+v -0.889340 1.184153 -6.312213
+v -0.996484 1.194600 -5.651621
+v -0.760670 1.184919 -5.687916
+v -0.601537 1.292810 -5.762637
+v -0.889795 1.206167 -5.227293
+v -0.606970 1.236079 -5.234110
+v -0.434302 1.401078 -5.343227
+v -0.814929 1.299698 -4.991332
+v -0.554814 1.384489 -4.970828
+v -0.382345 1.502313 -5.098981
+v -1.034163 1.181285 -5.881442
+v -0.840806 1.210840 -5.961395
+v -0.711468 1.257639 -6.107090
+v -0.631209 1.479578 -5.875779
+v -0.464679 1.605436 -5.447018
+v -0.423460 1.665314 -5.121157
+v -0.743932 1.268292 -6.251357
+v -1.204943 1.178799 -5.894271
+v -1.175692 1.262678 -5.660164
+v -1.087312 1.296968 -5.240851
+v -0.942971 1.397147 -4.977907
+v 0.905754 1.424581 -6.519624
+v 0.658060 0.741935 -6.754919
+v 0.245147 0.365997 -8.304296
+v -0.134337 1.769119 -5.224316
+v -0.634812 1.552140 -4.922270
+v 0.657481 0.439112 -6.123274
+# 281 vertices
+
+# 0 texture vertices
+
+# 0 normals
+
+usemtl hand
+f 2 4 1
+f 5 4 2
+f 3 5 2
+f 5 6 4
+f 1 10 9
+f 1 7 10
+f 7 11 10
+f 7 8 11
+f 10 12 9
+f 12 10 13
+f 10 14 13
+f 10 11 14
+f 12 17 9
+f 12 15 17
+f 18 15 16
+f 15 18 17
+f 9 2 1
+f 9 17 2
+f 18 2 17
+f 2 18 3
+f 19 4 6
+f 7 4 19
+f 8 7 19
+f 7 1 4
+f 20 22 12
+f 23 22 20
+f 21 23 20
+f 23 24 22
+f 16 26 25
+f 16 15 26
+f 15 22 26
+f 15 12 22
+f 25 28 27
+f 25 26 28
+f 22 28 26
+f 28 22 24
+f 30 31 29
+f 32 31 30
+f 6 32 30
+f 32 33 31
+f 5 32 6
+f 32 5 34
+f 5 35 34
+f 5 3 35
+f 34 33 32
+f 33 34 36
+f 35 36 34
+f 36 35 37
+f 39 40 38
+f 31 40 39
+f 29 31 39
+f 31 33 40
+f 42 43 41
+f 40 43 42
+f 38 40 42
+f 40 33 43
+f 45 46 44
+f 46 45 47
+f 38 47 45
+f 47 38 42
+f 46 49 48
+f 46 47 49
+f 47 41 49
+f 47 42 41
+f 44 52 45
+f 44 50 52
+f 50 53 52
+f 50 51 53
+f 52 38 45
+f 38 52 39
+f 52 29 39
+f 52 53 29
+f 36 55 33
+f 55 36 56
+f 37 56 36
+f 56 37 54
+f 56 24 55
+f 24 56 28
+f 27 56 54
+f 56 27 28
+f 33 57 43
+f 33 55 57
+f 55 58 57
+f 55 24 58
+f 57 41 43
+f 41 57 59
+f 58 59 57
+f 59 58 60
+f 62 64 61
+f 64 62 65
+f 63 65 62
+f 65 63 66
+f 65 21 64
+f 21 65 23
+f 66 23 65
+f 23 66 24
+f 66 58 24
+f 58 66 67
+f 63 67 66
+f 67 63 68
+f 67 60 58
+f 60 67 69
+f 68 69 67
+f 69 68 70
+f 61 72 71
+f 61 64 72
+f 64 73 72
+f 64 21 73
+f 71 75 74
+f 71 72 75
+f 72 76 75
+f 72 73 76
+f 53 77 29
+f 77 53 78
+f 51 78 53
+f 78 51 79
+f 78 80 77
+f 80 78 81
+f 79 81 78
+f 81 79 82
+f 83 77 80
+f 77 83 85
+f 83 86 85
+f 83 84 86
+f 85 29 77
+f 29 85 30
+f 86 30 85
+f 30 86 6
+f 73 87 76
+f 87 73 88
+f 21 88 73
+f 88 21 20
+f 88 89 87
+f 89 88 90
+f 20 90 88
+f 90 20 12
+f 90 91 89
+f 91 90 92
+f 90 13 92
+f 90 12 13
+f 91 94 93
+f 91 92 94
+f 92 14 94
+f 92 13 14
+f 95 98 97
+f 95 96 98
+f 8 98 96
+f 98 8 19
+f 97 86 84
+f 97 98 86
+f 19 86 98
+f 86 19 6
+f 59 49 41
+f 49 59 99
+f 59 69 99
+f 59 60 69
+f 99 48 49
+f 48 99 100
+f 99 70 100
+f 99 69 70
+f 8 101 11
+f 8 96 101
+f 96 102 101
+f 96 95 102
+f 101 14 11
+f 14 101 94
+f 101 93 94
+f 101 102 93
+f 103 107 106
+f 103 104 107
+f 105 107 104
+f 107 105 108
+f 107 109 106
+f 109 107 110
+f 108 110 107
+f 110 108 111
+f 63 113 68
+f 63 112 113
+f 112 104 113
+f 112 105 104
+f 68 114 70
+f 68 113 114
+f 113 103 114
+f 113 104 103
+f 115 118 117
+f 115 116 118
+f 105 118 116
+f 118 105 112
+f 117 62 61
+f 117 118 62
+f 112 62 118
+f 62 112 63
+f 120 121 119
+f 121 120 122
+f 111 122 120
+f 122 111 108
+f 122 115 121
+f 115 122 116
+f 108 116 122
+f 116 108 105
+f 123 127 126
+f 123 124 127
+f 124 128 127
+f 124 125 128
+f 126 130 129
+f 126 127 130
+f 127 131 130
+f 127 128 131
+f 44 133 132
+f 44 46 133
+f 48 133 46
+f 133 48 134
+f 132 126 129
+f 132 133 126
+f 134 126 133
+f 126 134 123
+f 135 138 137
+f 135 136 138
+f 136 130 138
+f 136 129 130
+f 137 140 139
+f 137 138 140
+f 138 131 140
+f 138 130 131
+f 51 142 141
+f 51 50 142
+f 50 132 142
+f 50 44 132
+f 141 136 135
+f 141 142 136
+f 142 129 136
+f 142 132 129
+f 109 144 106
+f 109 143 144
+f 125 144 143
+f 144 125 124
+f 106 145 103
+f 106 144 145
+f 124 145 144
+f 145 124 123
+f 100 134 48
+f 134 100 146
+f 70 146 100
+f 146 70 114
+f 146 123 134
+f 123 146 145
+f 114 145 146
+f 145 114 103
+f 135 148 141
+f 135 147 148
+f 147 117 148
+f 147 115 117
+f 141 149 51
+f 141 148 149
+f 148 61 149
+f 148 117 61
+f 115 150 121
+f 115 147 150
+f 135 150 147
+f 150 135 137
+f 121 151 119
+f 121 150 151
+f 137 151 150
+f 151 137 139
+f 120 152 111
+f 152 120 153
+f 119 153 120
+f 153 119 154
+f 152 156 155
+f 152 153 156
+f 153 157 156
+f 153 154 157
+f 158 161 160
+f 158 159 161
+f 159 110 161
+f 159 109 110
+f 160 152 155
+f 160 161 152
+f 161 111 152
+f 161 110 111
+f 162 140 131
+f 140 162 164
+f 162 165 164
+f 162 163 165
+f 164 139 140
+f 139 164 166
+f 164 167 166
+f 164 165 167
+f 168 171 170
+f 168 169 171
+f 163 171 169
+f 171 163 162
+f 171 125 170
+f 125 171 128
+f 162 128 171
+f 128 162 131
+f 172 169 168
+f 169 172 173
+f 158 173 172
+f 173 158 160
+f 169 174 163
+f 169 173 174
+f 160 174 173
+f 174 160 155
+f 157 176 156
+f 157 175 176
+f 167 176 175
+f 176 167 165
+f 176 155 156
+f 155 176 174
+f 176 163 174
+f 176 165 163
+f 177 181 180
+f 177 178 181
+f 178 182 181
+f 178 179 182
+f 181 183 180
+f 183 181 184
+f 181 185 184
+f 181 182 185
+f 186 75 76
+f 75 186 187
+f 179 187 186
+f 187 179 178
+f 187 74 75
+f 74 187 188
+f 178 188 187
+f 188 178 177
+f 189 193 192
+f 189 190 193
+f 191 193 190
+f 193 191 194
+f 192 196 195
+f 192 193 196
+f 193 197 196
+f 193 194 197
+f 81 198 80
+f 198 81 199
+f 82 199 81
+f 199 82 200
+f 199 195 198
+f 195 199 192
+f 200 192 199
+f 192 200 189
+f 200 201 189
+f 201 200 202
+f 200 203 202
+f 200 82 203
+f 202 177 201
+f 177 202 188
+f 202 74 188
+f 202 203 74
+f 177 204 201
+f 177 180 204
+f 183 204 180
+f 204 183 205
+f 204 189 201
+f 189 204 190
+f 204 191 190
+f 204 205 191
+f 195 207 198
+f 195 206 207
+f 179 207 206
+f 207 179 186
+f 198 208 80
+f 198 207 208
+f 186 208 207
+f 208 186 76
+f 206 182 179
+f 182 206 209
+f 206 196 209
+f 206 195 196
+f 209 185 182
+f 185 209 210
+f 209 197 210
+f 209 196 197
+f 211 215 214
+f 211 212 215
+f 213 215 212
+f 215 213 216
+f 215 217 214
+f 217 215 218
+f 216 218 215
+f 218 216 219
+f 220 216 213
+f 216 220 221
+f 76 221 220
+f 221 76 87
+f 221 219 216
+f 219 221 222
+f 87 222 221
+f 222 87 89
+f 223 227 226
+f 223 224 227
+f 225 227 224
+f 227 225 228
+f 227 229 226
+f 229 227 230
+f 228 230 227
+f 230 228 231
+f 230 232 229
+f 232 230 233
+f 231 233 230
+f 233 231 234
+f 233 80 232
+f 80 233 83
+f 233 84 83
+f 233 234 84
+f 222 235 219
+f 235 222 236
+f 222 237 236
+f 222 89 237
+f 236 231 235
+f 231 236 234
+f 237 234 236
+f 234 237 84
+f 217 239 238
+f 217 218 239
+f 219 239 218
+f 239 219 235
+f 239 225 238
+f 225 239 228
+f 239 231 228
+f 239 235 231
+f 220 208 76
+f 208 220 240
+f 213 240 220
+f 240 213 241
+f 208 232 80
+f 208 240 232
+f 240 229 232
+f 240 241 229
+f 241 226 229
+f 226 241 242
+f 241 212 242
+f 241 213 212
+f 242 223 226
+f 223 242 243
+f 242 211 243
+f 242 212 211
+f 244 248 247
+f 244 245 248
+f 246 248 245
+f 248 246 249
+f 248 250 247
+f 250 248 251
+f 249 251 248
+f 251 249 252
+f 250 254 253
+f 250 251 254
+f 252 254 251
+f 254 252 255
+f 253 91 93
+f 253 254 91
+f 254 89 91
+f 254 255 89
+f 256 260 259
+f 256 257 260
+f 258 260 257
+f 260 258 261
+f 260 262 259
+f 262 260 263
+f 260 264 263
+f 260 261 264
+f 97 265 95
+f 265 97 266
+f 84 266 97
+f 266 84 267
+f 265 257 256
+f 265 266 257
+f 267 257 266
+f 257 267 258
+f 249 268 252
+f 268 249 269
+f 249 270 269
+f 249 246 270
+f 269 258 268
+f 258 269 261
+f 269 264 261
+f 269 270 264
+f 255 237 89
+f 237 255 271
+f 252 271 255
+f 271 252 268
+f 271 84 237
+f 84 271 267
+f 268 267 271
+f 267 268 258
+f 102 253 93
+f 253 102 272
+f 102 265 272
+f 102 95 265
+f 272 250 253
+f 250 272 273
+f 272 256 273
+f 272 265 256
+f 259 273 256
+f 273 259 274
+f 262 274 259
+f 274 262 275
+f 273 247 250
+f 273 274 247
+f 274 244 247
+f 274 275 244
+f 172 159 158
+f 159 172 276
+f 172 170 276
+f 172 168 170
+f 276 109 159
+f 109 276 143
+f 170 143 276
+f 143 170 125
+f 151 154 119
+f 154 151 277
+f 151 166 277
+f 151 139 166
+f 154 175 157
+f 154 277 175
+f 277 167 175
+f 277 166 167
+f 197 278 210
+f 197 194 278
+f 191 278 194
+f 278 191 205
+f 278 185 210
+f 185 278 184
+f 278 183 184
+f 278 205 183
+f 223 279 224
+f 223 243 279
+f 211 279 243
+f 279 211 214
+f 279 225 224
+f 225 279 238
+f 279 217 238
+f 279 214 217
+f 262 280 275
+f 262 263 280
+f 264 280 263
+f 280 264 270
+f 280 244 275
+f 244 280 245
+f 270 245 280
+f 245 270 246
+f 74 281 71
+f 74 203 281
+f 82 281 203
+f 281 82 79
+f 71 149 61
+f 71 281 149
+f 79 149 281
+f 149 79 51
+# 552 elements