Add missing examples from the website.

This commit is contained in:
Sébastien Crozet 2017-02-15 23:42:03 +01:00
parent 1471031ac4
commit a4089a7ee0
2 changed files with 37 additions and 0 deletions

11
examples/cargo/Cargo.toml Normal file
View File

@ -0,0 +1,11 @@
[package]
name = "example-using-nalgebra"
version = "0.0.0"
authors = [ "You" ]
[dependencies]
nalgebra = "0.11.0"
[[bin]]
name = "example"
path = "./example.rs"

View File

@ -0,0 +1,26 @@
extern crate nalgebra as na;
use na::{Vector3, Vector4, Point3};
fn main() {
// Build using components directly.
let p0 = Point3::new(2.0, 3.0, 4.0);
// Build from a coordinates vector.
let coords = Vector3::new(2.0, 3.0, 4.0);
let p1 = Point3::from_coordinates(coords);
// Build by translating the origin.
let translation = Vector3::new(2.0, 3.0, 4.0);
let p2 = Point3::origin() + translation;
// Build from homogeneous coordinates. The last component of the
// vector will be removed and all other components divided by 10.0.
let homogeneous_coords = Vector4::new(20.0, 30.0, 40.0, 10.0);
let p3 = Point3::from_homogeneous(homogeneous_coords);
assert_eq!(p0, p1);
assert_eq!(p0, p2);
assert_eq!(p0, p3.unwrap());
}