Find if and where a light ray intersects a triangle (in 3D of course). This is optimized for speed. See nice general explanation here

```
Pkg.clone("git://github.com/JuliaGeometry/TriangleIntersect.jl.git")
```

Import and create some points:

```
using TriangleIntersect
a = Point(0,0,0)
b = Point(1,0,0)
c = Point(0,1,0)
```

Create a triangle

```
t = Triangle(b,a,c)
```

Cast a ray:

```
r = Ray(Point(0.1,0.1,1), Point(0.1,0.1,-1))
```

Check the intersection:

```
intersect(r, t) # -> Intersection(Point(0.2,0.2,0.0),1.02,true)
```

The `Intersection`

type is simply defined as:

```
immutable Intersection
ip::Point # intersecting point
id::Float64 # intersecting distance
is_intersection::Bool
end
```

10/22/2014

3 months ago

29 commits