LinkedIn
Facebook
CV

email
The Victor Zone
Research Software
 
Victor's Home Page

I've designed and developed several large software frameworks for web-based artificial agents, computer animation, digital human modeling and robotics research. I tend to use object-oriented design with an eye to future extensibility and modularity, often employing dynamic plug-in component models. I've also written class libraries to allow functionality to be easily incorporated in other people's code. The following are some of the software I'm either working on or have worked on that were used for my own research and for commercial products.

ALIVE

 

 

 

 

 

 

ALIVE:
Anthropometric Locomotion in Virtual Environments
(2001-present at the Honda Research Institute USA)

ALIVE is my main research testbed for projects at the Honda Research Institute USA (see research page). I'm constantly adding to its functionality and use it to put together projects. Originally, it was used for my work in Digital Human Modeling but has now been extended to work with humanoid robot task modeling.

Features

This software consists of a comprehensive class library and Qt-based application framework for handling many aspects of biomechanical simulation, including articulated joint models, mass property computation, forward dynamics simulation, and visualization with computer graphics. An XML-based file format describes the physical scene and models in the environment. This software has been used to model and analyze dinosaurs, elephants, humans and humanoid robots. A flexible plug-in architecture provides extensibility for file format input/output, new geometry models and interactive applications. For example, plug-ins have been written for inter-agent socket communication, motion capture integration, pushing motion planners for robots, and subject-specific skeleton fitting via optimization.

A wide variety of data import/export is supported, including C3D, Wavefront OBJ, Fbx, bvh, VRML file formats and more. The software is multi-platform and is being run actively on Windows XP, Linux and MacOS platforms.

DANCE

 

 

 

 

 

 

DANCE:
Dynamic Animation and Control Environment
(1994-2000 at University of Toronto,
now maintained at UCLA)

During my PhD thesis at the University of Toronto, I co-developed with Petros Faloutsos a physics-based animation system called DANCE (Dynamic Animation and Control Environment). DANCE could be extended by plug-ins and featured abstract interfaces for controllers, numerical integrators and physical models. It could be used as a physics-simulation playground for testing out a variety of different ideas from virtual stuntmen to biomechanical models of muscle. This was a formative experience for me, as it was this project that I really started building plug-in based frameworks with abstract component interfaces in my software.

Features

DANCE allows different physical models to be combined together, such as multibody rigid dynamics, deformable Lagrangian dynamics, 3-D particle systems, and spring-mass models. Each of these models, can have its own collision models and controllers designed and applied via plug-ins. The visualization is based on OpenGL, but other output formats are supported for different scene description models and rendering libraries.

I am no longer actively working on DANCE. However, DANCE has subsequently been extended and improved by Ari Shapiro and has its own home page at UCLA.

NetPeople

 

 

 

NetPeople:
3-D agents for the web
(1998-2000, version 1.0, at Inago Inc. Toronto)
)

I really enjoyed my experience working on this product. We were in the midst of the dot-com boom in the late 90's and I was the leading software architect for the first version of NetPeople, our attempt to build 3-D agents on the web. The concept was for web pages to have interactive 3-D agent representatives that could directly take queries from a visitor, answer in speech and automatically browse to directed pages, minimizing the effort for a visitor to find and navigate to desired content. This involved the complex integration of 3-D OpenGL graphics, web-based Javascript for agent control of web browsing, text-to-speech and speech recognition technologies. There was a strong sense of urgency and we had to adjust quickly to the demanding pace of development while tackling technical challenges. I had to figure out how to render a real-time OpenGL character as a full-3D character that would walk around the desktop, outside of the browser and without any rectangular window borders (ie., the silhouette of the character was the window border). This was my first substantial software design where we relied heavily on UML modeling methodologies during design sessions. NetPeople is actively being improved in Canada and Japan by Inago Inc. and has been deployed in several different customer platforms in Japan.

Awviewer

Awviewer:
Viewing and data translation for Direct3D content
(1997-1998 at Alias|wavefront - now Autodesk)

I've done some work through my consulting company, Digital Monkeys Computer Graphics Inc. for Alias|wavefront's PowerAnimator product. I was part of the Games Team, making data translation tools for geomtetry, joint and mesh animation and lighting for Microsoft's Direct3D file format. I also had to create my own Direct3D viewer to test the fidelity of exported content. This was my first commercial software project and introduced me to the DirectDraw and Direct3D APIs which were just released at the time. Some challenges I had to figure out were right-hand to left-hand coordinate system conversion, animation keyframe compression, whole mesh animation, and exporting nonlinear animation sequences. I also had to reverse engineer the Direct3D binary file format since there was no documented file format available at the time.