Mike Sheldon
/
Demo
Revision 0:a1614e89369b, committed 2009-09-17
- Comitter:
- elleo
- Date:
- Thu Sep 17 23:48:06 2009 +0000
- Commit message:
Changed in this revision
diff -r 000000000000 -r a1614e89369b TieFighter.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/TieFighter.h Thu Sep 17 23:48:06 2009 +0000 @@ -0,0 +1,134 @@ +#ifndef MBED_TIEFIGHTER_H +#define MBED_TIEFIGHTER_H + + + +int tie_fighter_vertices[48][3] = { + // Left wing - v0 + {0, 0, 17}, + {10, -15, 15}, + {-10, -15, 15}, + {-15, 0, 15}, + {-10, 15, 15}, + {-10, 15, 15}, + {10, 15, 15}, + {15, 0, 15}, + + // Left inner wing connector - v8 + {0, 0, 17}, + {4, -4, 15}, + {-4, -4, 15}, + {-4, 0, 15}, + {-4, 4, 15}, + {-4, 4, 15}, + {4, 4, 15}, + {4, 0, 15}, + + // Right wing - v16 + {0, 0, -17}, + {10, -15, -15}, + {-10, -15, -15}, + {-15, 0, -15}, + {-10, 15, -15}, + {-10, 15, -15}, + {10, 15, -15}, + {15, 0, -15}, + + // Right inner wing connector - v24 + {0, 0, -17}, + {4, -4, -15}, + {-4, -4, -15}, + {-4, 0, -15}, + {-4, 4, -15}, + {-4, 4, -15}, + {4, 4, -15}, + {4, 0, -15}, + + // Body - v32 + {8, 8, -8}, + {-8, 8, -8}, + {8, 8, 8}, + {-8, 8, 8}, + + {8, -8, -8}, + {-8, -8, -8}, + {8, -8, 8}, + {-8, -8, 8}, + + // Left wing <-> body connection + {-2, -2, 15}, + {-2, -2, 8}, + {2, 2, 15}, + {2, 2, 8}, + + // Right wing <-> body connection + {-2, -2, -15}, + {-2, -2, -8}, + {2, 2, -15}, + {2, 2, -8}, +}; + +#define TIE_FIGHTER_NUM_FACES 32 +int tie_fighter_faces[TIE_FIGHTER_NUM_FACES][3] = { + // Left wing + {0, 1, 2}, + {0, 2, 3}, + {0, 3, 4}, + {0, 4, 5}, + {0, 5, 6}, + {0, 6, 7}, + {0, 7, 1}, + + // Left inner wing connector +/* {8, 9, 10}, + {8, 10, 11}, + {8, 11, 12}, + {8, 12, 13}, + {8, 13, 14}, + {8, 14, 15}, + {8, 15, 9}, */ + + // Right wing + {16, 17, 18}, + {16, 18, 19}, + {16, 19, 20}, + {16, 20, 21}, + {16, 21, 22}, + {16, 22, 23}, + {16, 23, 17}, + + // Right inner wing connector +/* {24, 25, 26}, + {24, 26, 27}, + {24, 27, 28}, + {24, 28, 29}, + {24, 29, 30}, + {24, 30, 31}, + {24, 31, 25}, */ + + // Body + {32, 33, 33}, // Hack to just draw some straight lines so the body doesn't look too cluttered with triangles + {33, 35, 35}, + {35, 34, 34}, + {32, 34, 34}, + + {36, 37, 37}, + {37, 39, 39}, + {39, 38, 38}, + {36, 38, 38}, + + {36, 32, 32}, + {37, 33, 33}, + {39, 35, 35}, + {38, 34, 34}, + + // Left wing <-> body connection + {40, 41, 41}, + {42, 43, 43}, + + // Right wing <-> body connection + {44, 45, 45}, + {46, 47, 47}, +}; + +#endif
diff -r 000000000000 -r a1614e89369b main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Thu Sep 17 23:48:06 2009 +0000 @@ -0,0 +1,140 @@ +#include "mbed.h" +#include "Graphics.h" +#include "Cuboid.h" +#include "TrimeshObject.h" +#include "TieFighter.h" +#include "PluckedGuitar.h" +#include "Synth.h" + +Graphics g(5, 6, 7, 8, 9); +TrimeshObject tf(tie_fighter_vertices, tie_fighter_faces, TIE_FIGHTER_NUM_FACES); +Synth s(18); + +void fly_me_to_the_moon(Synth *s) { + //Fly me to the moon + s->add_note(NOTE_C5, 1.5); + s->add_note(NOTE_B4, 0.5); + s->add_note(NOTE_A4, 0.5); + s->add_note(NOTE_G4, 0.5); + + s->add_note(NOTE_F4, 1.5); + s->add_note(NOTE_G4, 0.5); + s->add_note(NOTE_A4, 0.5); + s->add_note(NOTE_C5, 0.5); + + s->add_note(NOTE_B4, 1.5); + s->add_note(NOTE_A4, 0.5); + s->add_note(NOTE_G4, 0.5); + s->add_note(NOTE_F4, 0.5); + + s->add_note(NOTE_E4, 3); + + s->add_note(NOTE_A4, 1.5); + s->add_note(NOTE_G4, 0.5); + s->add_note(NOTE_F4, 0.5); + s->add_note(NOTE_E4, 0.5); + + s->add_note(NOTE_D4, 1.5); + s->add_note(NOTE_E4, 0.5); + s->add_note(NOTE_F4, 0.5); + s->add_note(NOTE_A4, 0.5); + + s->add_note(NOTE_A_FLAT4, 1.5); + s->add_note(NOTE_F4, 0.5); + s->add_note(NOTE_E4, 0.5); + s->add_note(NOTE_D4, 0.5); + + s->add_note(NOTE_C4, 2); + s->add_note(NOTE_C_SHARP4, 1); + + s->add_note(NOTE_D4, 0.5); + s->add_note(NOTE_A4, 0.5); + s->add_note(NOTE_A4, 3); + s->add_note(NOTE_C5, 1); + s->add_note(NOTE_B4, 1); + + s->add_note(NOTE_G4, 5); + s->add_note(NOTE_B3, 1); + + s->add_note(NOTE_C4, 0.5); + s->add_note(NOTE_F4, 0.5); + s->add_note(NOTE_F4, 3); + s->add_note(NOTE_A4, 1); + s->add_note(NOTE_G4, 1); + s->add_note(NOTE_F4, 1); + s->add_note(NOTE_E4, 5); + + s->add_note(NOTE_C5, 1.5); + s->add_note(NOTE_B4, 0.5); + s->add_note(NOTE_A4, 0.5); + s->add_note(NOTE_G4, 0.5); + + s->add_note(NOTE_F4, 1.5); + s->add_note(NOTE_G4, 0.5); + s->add_note(NOTE_A4, 0.5); + s->add_note(NOTE_C5, 0.5); + + s->add_note(NOTE_B4, 1.5); + s->add_note(NOTE_A4, 0.5); + s->add_note(NOTE_G4, 0.5); + s->add_note(NOTE_F4, 0.5); + + s->add_note(NOTE_E4, 3); + + s->add_note(NOTE_A4, 1.5); + s->add_note(NOTE_G4, 0.5); + s->add_note(NOTE_F4, 0.5); + s->add_note(NOTE_E4, 0.5); + + s->add_note(NOTE_D4, 1.5); + s->add_note(NOTE_E4, 0.5); + s->add_note(NOTE_F4, 0.5); + s->add_note(NOTE_G4, 0.5); + + s->add_note(NOTE_A_FLAT4, 1.5); + s->add_note(NOTE_F4, 0.5); + s->add_note(NOTE_E4, 0.5); + s->add_note(NOTE_D4, 0.5); + + s->add_note(NOTE_C4, 2); + s->add_note(NOTE_C_SHARP4, 1); + + s->add_note(NOTE_D4, 0.5); + s->add_note(NOTE_A4, 0.5); + s->add_note(NOTE_A4, 3); + s->add_note(NOTE_C5, 1); + s->add_note(NOTE_B4, 1); + + s->add_note(NOTE_G4, 5); + s->add_note(NOTE_A_FLAT4, 1); + + s->add_note(NOTE_A4, 0.5); + s->add_note(NOTE_C4, 0.5); + s->add_note(NOTE_C4, 3); + s->add_note(NOTE_C4, 1); + s->add_note(NOTE_D4, 1); + + s->add_note(NOTE_C4, 3); +} + + +int main() { + double rotx = 0, roty = 0, rotz = 0; + PluckedGuitar *guitar = new PluckedGuitar(); + s.set_bpm(100); + s.set_instrument(guitar); + fly_me_to_the_moon(&s); + s.play(); + + while (1) { + rotx += 0.1; + roty += 0.08; + rotz += 0.05; + + tf.rotate(rotx, roty, rotz); + tf.colour(0xffffff); + tf.render(g); + wait(0.02); + g.fill(40, 40, 52, 52, 0x000000); + } +}
diff -r 000000000000 -r a1614e89369b mbed.bld --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Thu Sep 17 23:48:06 2009 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/fcb9359f0959