rtt 0.3.3

Rapidly-Exploring random trees path planning algorithm.
Documentation
# Rapidly-Exploring random trees path planning algorithm

## Overview

Randomized data structure that is designed for a broad class of path planning problems.

Visualizer: [rtt-demo](https://github.com/swizard0/rtt-demo)

![rtt visualizer](https://github.com/swizard0/rtt-demo/blob/master/images/screenshot_00.png "RTT visualizer")

Theory:
- <http://msl.cs.uiuc.edu/~lavalle/papers/Lav98c.pdf>
- <http://msl.cs.uiuc.edu/rrt/>
- <http://planning.cs.uiuc.edu/node231.html>
- <https://stackoverflow.com/questions/11933385/rapid-exploring-random-trees>

## Library

`rtt` is a Rust crate with a very abstract algorithm implementation. Everything outside of raw algorithm (sampling, memory management, nearest node search etc) is left to library user.

Several useful data structures and helpers are available in `rtt::util` module for your convenience, such as:
- [rtt::util::rtt::vec_slist]src/util/rtt/vec_slist.rs: single-linked tree implemented over `Vec`
- [rtt::util::no_err]src/util/mod.rs: simple wrapper for `Result<T, !>` type

## Example usage

Try the [example](examples/rect_maze.rs) yourself:

```
% cargo run --example rect_maze

Maze of 15 rows and 24 cols, start: (1, 3), finish: (8, 2)
Path planned in 2707 iterations:
###############
#  ++  #  ++++##########
#   +  #  +  +++++     #
#   +  #  +   ###+ #####
#   +++#  +   #  +     #
#     +++++   #  +     #
#      #      #  +     #
###############  +     #
#++    #     +++++     #
#+     #   +++##########
#+++   #   +  #
#  +   #++++  #
#  +   #+     #
#  ++++++     #
###############
```