Code Monkey home page Code Monkey logo

laserinne-rovaniemi's Introduction

Laserinne Sketches

The master repository for these sketches is (https://github.com/jyrkij/Laserinne-Rovaniemi).

These sketches are originally for Levi World Cup 2011, which never was held. Most of them are requested by Levi. Their purpose is to show off how people could interact with laser scanner(s) and how to do it safely. The basic idea is to track skiers and project something around them.

All the sketches are built on top of Processing. For projection we use Laserchein by allesblinkt. For tracking we use laserinneTSPS by Andreas Schmelas.

1 Sketches

All the sketches except Slopedecibel interact with skiers. Competitive sketches (LaserSledding and SnakeRun) show the winner based on time and points.

1.1 LaserSledding

LaserSledding gives us a competition between two players. Their aim is to collect all the items projected on the slope. By collecting an item they receive bonus as reduction of time.

1.2 NameDraw

NameDraw projects names behind skiers. This was meant to be used for drawing the top 10 skiers.

1.3 SlopeDecibel

SlopeDecibel shows relative amount of gain the microphone receives and keeps the highest.

1.4 SnakeRun

SnakeRun projects two snakes in which the competitors must stay in. If they fail to stay in, there is a time added to their total time.

2 Key Commands

All the sketches support following keys:

  • ''r'' as reset. Resets all to defaults.
  • ''s'' as show calibration. Shows Laserschein's calibration window.

In addition to these, competitions support ''n'' as new game. It generates new routes and resets positions.

3 Class description and hierarchy

There are a few supporting classes in com.laserinne.util. They should have comments that should explain the functionality. By looking at the sketches we've implemented you should be able to understand how they work.

3.1 General class organization

All the sketches have their own namespace. If there's a class that only one sketch uses, put it into sketch's namespace. If there's a possibility that multiple sketches use the same class, put it in com.laserinne.util.

All sketches must extend com.laserinne.util.LaserinneSketch. If the sketch is a competition, it must extend com.laserinne.util.TwoPlayerCompetition.

3.2 Class hierarchy

|- PApplet
   |- LaserinneSketch
      |- SlopeDecibel
      |- NameDraw
      |- TwoPlayerCompetition
         |- LaserSledding
         |- SnakeRun

3.2.1 LaserinneSketch

Abstract superclass for Laserinne sketches.

You are supposed to extend this to get some of the ready made functionality for sketches made to Levi.

Remember: When you've overridden a method you almost always want to call the superclass method as the first call in your method! This gives you the benefits of having the functionality that's already there in your sketch as well.

3.2.2 TwoPlayerCompetition

Abstract superclass for games/competitions for two players.

You are supposed to extend this to get some of the ready made functionality for competitions/games for two players.

Remember: When you've overridden a method you almost always want to call the superclass method as the first call in your method! This gives you the benefits of having the functionality that's already there in your sketch as well.

laserinne-rovaniemi's People

Contributors

jyrkij avatar m9dfukc avatar

Stargazers

 avatar  avatar

Watchers

 avatar James Cloos avatar

Forkers

m9dfukc

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.