Giter Site home page Giter Site logo

pmavros / tether Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 27.19 MB

TETHER enables the annotation of behavioural data encoded in Rhinoceros with video information.

Processing 100.00%
architecture behavioural coding spatial-cognition spatial-data

tether's Introduction

Tether

Description

TETHER enables the connection of a video playback in Processing and a CAD drawing in Rhinoceros. Behind the scenes, the Processing script relies on the OSC protocol to broadcast the playback position (i.e. the timestamp of the current frame, expressed as milliseconds from start, and as a percentage of the total movie duration). On the Rhinoceros side, a Grasshopper script, receive the timestamp information and allows the user to control the movie playback. When the user adds a new point on the current drawing on Rhino, the timestamp gets appended to the point as the object name as well as a separate attribute.

Requirements

TETHER consists of two parts:

#1 Processing http://processing.org

A lightweigh script plays a movie, broadcasts the timestampt to the localhost using OSC and receives playback commands from the keyboard and also using OSC.

The following external libraries are used. You can directly install both libraries from Processing (Tools > Add Tool > ...)

  1. Andreas Schlegel 's OscP5 and NetP5 libraries - http://www.sojamo.de/libraries/oscP5/. This allows us to send / receive messages with other applications using the OSC protocol
  2. Oleg Sidorov 's VLCJVideo library - https://github.com/icanhazbroccoli/VLCJVideo

#2 Rhinoceros 3D modeling software https://www.rhino3d.com/

A Grasshopper (GH) Script does four things:

  1. It creates a simple UI to control the type of input and movie playback.
  2. It listens to the localhost for incoming OSC messages, and receives the timestamp of the current frame using (sent by Processing).
  3. It sends OSC messages with playback commands ( go +/- 5 seconds, use a slider to move in the movie).
  4. It listens to the Rhino runtime environment for the addition of new point objects. When a new point is detected, the information from the timestamp, as well as other information determined by the user are appended.

The GH script relies on the following external plugins:

  1. gHowl
  2. Human UI
  3. Human
  4. Heteroptera

Acknowledgements

Thanks goes to the authors of the various libraries used for providing examples that I used to implement the final system, and to my colleagues at the Future Cities Laboratory for encouraging me to wrap this up!

tether's People

Contributors

pmavros avatar

Watchers

 avatar

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.