eve

package module
v0.50.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 16, 2020 License: BSD-3-Clause Imports: 0 Imported by: 0

README

Emergent Virtual Engine

The Emergent Virtual Engine (EVE) is a scenegraph-based physics simulator for creating virtual environments for neural network models to grow up in.

Ultimately we hope to figure out how the Bullet simulator works and get that running here, in a clean and simple implementation.

Incrementally, we will start with a very basic explicitly driven form of physics that is sufficient to get started, and build from there.

The world is made using GoKi based trees (groups, bodies, joints).

Rendering can optionally be performed using corresponding 3D renders in the gi3d 3D rendering framework in the GoGi GUI framework, using an epev.View object that sync's the two.

We also use the full-featured gi.mat32 math / matrix library (adapted from the g3n 3D game environment package).

Usual rationalization for reinventing the wheel yet again

  • Pure Go build environment is fast, delightful, simple, clean, easy-to-read, runs fast, etc. In contrast, building other systems typically requires something like Qt or other gui dependencies, and we know what that world is like, and why we left it for Go..

  • Control, control, control.. we can do what we want in a way that we know will work.

  • Physics is easy. Seriously, the basic stuff is just a few vectors and matricies and a few simple equations. Doing the full physics version is considerably more challenging technically but we should be able to figure that out in due course, and really most environments we care about don't really require the full physics anyway.

Documentation

Overview

Package eve (Emergent Virtual Engine) is a virtual physics engine written in pure Go, for use in creating virtual environments for neural network models to grow up in.

Ultimately we hope to figure out how the Bullet simulator works and get that running here, in a clean and simple implementation.

Incrementally, we will start with a very basic explicitly driven form of physics that is sufficient to get started, and build from there.

The world is made from Ki-based trees (groups, bodies, joints), which can be mapped onto corresponding 3D renders using the gi3d 3D rendering framework.

The basic physics can be simulated entirely indevendent of the graphics rendering.

Directories

Path Synopsis
examples

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL