Projects

Siva Manoharan

2013

Ray Tracer

Source: http://github.com/smanoharan/go-raytracer/

A simple RayTracer using the BlinnPhong shader, implemented in Go.

An individual side project, built for learning how ray tracing works.

Supported features:

  • Light sources: point and directional
  • Material properties: ambient, diffuse, and specular
  • Primitives: spheres and quads
  • Soft shadows
  • Anti-aliasing

Image Processing Library

Source: http://github.com/smanoharan/go-img-proc/

Basic Image Processing library, implemented in Go.

An individual side project, under construction, developed for learning Go and Image Processing.

Currently supports:

  • Mean Filtering
  • Gaussian Filtering
  • Laplacians (3 variants)

2012

AdaProp

Source: http://github.com/smanoharan/adaprop/
Download: final report (700 KB), presentation slides (9 MB).

A project developed as part of Honours Project (COMP520: Report of an Investigation). Written in Java, using the WEKA framework.

MI (Multi-instance) learning is machine learning over MI data, where the instances are grouped together into labelled bags. An approach to handling MI data is propositionalisation, where each bag is converted into single feature vector, which can then be used with standard learning algorithms such as SVMs and Neural Networks.

The aim of this project is to explore adaptive propositionalisation, where the propositionalisation process adapts to the specific single instance learner being used. Application of this technique to the image classification problem have also been considered.


Turing Machine Verifier

Source: http://github.com/smanoharan/235-lab-verifier/
Currently hosted at: http://comp235labs.herokuapp.com/

An online automatic verifier for the Turing Machines in COMP235 Labs. Written in Java using the Play Framework.

Individual side project, developed for use by the students of COMP235: Logic and Computation.

Supported features:

  • Allows testing each machine with an arbitrary number of test inputs.
  • Checks for Non-Determinism, Tape-OutOfBound errors and Alphabet constraints.
  • Shows an overall summary of results.


2011

Fix-Set Generator

Source: https://github.com/smanoharan/fix-set-quasi-order-generator/
Results are hosted at: http://www.math.waikato.ac.nz/~stokes/data/

Visualisation of the fix-set lattice of the Dihedral group D8. The colours and line styles indicate various properties of each fix-order.

A software package for generating all fix-orders of any given group (the abstract algebraic structure) and visualising the lattice of all fix-orders as a Hasse diagram. Publication under preparation.

A project developed for 2011/2012 summer research work.


Sign Language Learner

Source: http://github.com/smanoharan/314Kinect/

A group project, developed for COMP314: Software Engineering Project. Allows instructors to teach signs to the software, which in turn can evaluate students on their performance of the same sign.

Requires the Microsoft Kinect hardware and Kinect for Windows SDK (v1.0-beta-2).

Use Case:

  1. Instructors train any sign (or any arbitrary gesture) by performing the sign a few (5 or so) times to the software (in record mode).
  2. The software then "learns" the sign (by modelling the sign via Hidden Markov Models) and saves it to disk.
  3. A student performs the learned sign to the software (in evaluate mode).
  4. The software gives feedback (a score out of 10) to the student, based on how well the student performance matched that of the instructor.

Authors:


2010

Top Gear Electrified

Source: http://github.com/smanoharan/242TopGearElectrified/

A group project, developed for COMP242: Software Engineering Process. A multiplayer on-rails 3D car Racing simulation, developed in C#, using the XNA framework.

Features:

  • 3D cars, tracks and realistic physics.
  • Network and local-machine (split-screen) multiplayer support.
  • Engine and background audio.
  • Particle effects, Bloom Lighting, HD skybox.

Authors:


2009

3D Spacecraft Simulator

Source: Download here (6 MB).

Individual side project, developed for learning XNA and 3D graphics. A small number of spacecraft in a skybox, with frictionless collision physics.

Built using C#, via the XNA framework.

Requires XNA 3.1 and Games for Windows Live.
Not compatible with XNA 4.0.


2008

Tactical Wargame

Source: Download here (18 MB).

A 2-player turn-based strategy game, with isometric (i.e. 2.5D) graphics. Each player controls a squad of four units and the aim is to gain territory by blocking in or destroying the units of the opposing player.

Built using Visual Basic and the DirectX framework.

Requires Windows XP (32-bit), or a Visual Basic 6 compiler.

Art from: Reiner's Tilesets


All projects are licensed under LGPL unless otherwise stated.