gvsu/cs658/final/shapes/Sphere.cc
josh ad262d3484 updated a bit
git-svn-id: svn://anubis/gvsu@371 45c1a28c-8058-47b2-ae61-ca45b979098e
2009-01-17 22:10:19 +00:00

23 lines
723 B
C++

#include "Sphere.h"
#include "util/Solver.h"
Sphere::Sphere(double radius)
{
m_radius = radius;
}
Solver::Result Sphere::intersect(const Ray & ray)
{
Solver::Result res;
QuadraticSolver solver(1.0,
2 * ( ray.getOrigin()[0] * ray.getDirection()[0]
+ ray.getOrigin()[1] * ray.getDirection()[1]
+ ray.getOrigin()[2] * ray.getDirection()[2] ),
ray.getOrigin()[0] * ray.getOrigin()[0]
+ ray.getOrigin()[1] * ray.getOrigin()[1]
+ ray.getOrigin()[2] * ray.getOrigin()[2] );
Solver::Result quadSolutions = solver.solve();
return res;
}