Package geometries
Class Cylinder
java.lang.Object
geometries.Geometry
geometries.Cylinder
- All Implemented Interfaces:
Intersectible
public class Cylinder extends Geometry
This class represents a cylinder, which is a three-dimensional tube with a height, and closed disks on either end.
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and Type Method Description geometries.Boundaryboundary()Get theBoundaryof this intersectible.java.util.List<Intersection>intersect(LineSegment line)Calculates all the intersections between a givenLineSegmentand this object.NormalizedVectornormal(Point p)This function returns the normal vector relative to thePointp.Methods inherited from class geometries.Geometry
intersectionMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
Cylinder
This constructs a Cylinder.- Parameters:
material- TheMaterialthe cylinder is made from.ray- The ray that makes up the center of the Cylinder.radius- A positive double that represents the radius.height- A positive double that represents the height of the Cylinder.- Throws:
java.lang.IllegalArgumentException- if the radius is zero or the height is not positive.
-
-
Method Details
-
normal
This function returns the normal vector relative to thePointp. p is assumed to be on the surface of the Cylinder. Anything else is undefined behavior.- Specified by:
normalin classGeometry- Parameters:
p- The point at which to find the normal vector.- Returns:
- A
NormalizedVectorperpendicular to the surface of the shape at the givenPoint.
-
intersect
Description copied from interface:IntersectibleCalculates all the intersections between a givenLineSegmentand this object.- Parameters:
line- TheLineSegmentto check for intersections.- Returns:
- A list of all the intersections with the given
LineSegment.
-
boundary
public geometries.Boundary boundary()Description copied from interface:IntersectibleGet theBoundaryof this intersectible.- Returns:
- The bounding box of this intersectible.
-