Sphere Object

sphere(x = 0, y = 0, z = 0, radius = 1, material = diffuse(),
angle = c(0, 0, 0), order_rotation = c(1, 2, 3), velocity = c(0, 0,
0), flipped = FALSE, scale = c(1, 1, 1))

## Arguments

x Default 0. x-coordinate of the center of the sphere. Default 0. y-coordinate of the center of the sphere. Default 0. z-coordinate of the center of the sphere. Default 1. Radius of the sphere. Default diffuse. The material, called from one of the material functions diffuse, metal, or dielectric. Default c(0, 0, 0). Angle of rotation around the x, y, and z axes, applied in the order specified in order_rotation. Default c(1, 2, 3). The order to apply the rotations, referring to "x", "y", and "z". Default c(0, 0, 0). Velocity of the sphere, used for motion blur. Default FALSE. Whether to flip the normals. Default c(1, 1, 1). Scale transformation in the x, y, and z directions. If this is a single value, number, the object will be scaled uniformly. Note: emissive objects may not currently function correctly when scaled.

## Value

Single row of a tibble describing the sphere in the scene.

## Examples

#Generate a sphere in the cornell box.
generate_cornell() %>%
add_object(sphere(x = 555/2, y = 555/2, z = 555/2, radius = 100)) %>%
render_scene(lookfrom = c(278, 278, -800) ,lookat = c(278, 278, 0), fov = 40,
ambient_light = FALSE, samples = 400, parallel = TRUE, clamp_value = 5) #Generate a gold sphere in the cornell box
generate_cornell() %>%
add_object(sphere(x = 555/2, y = 100, z = 555/2, radius = 100,
material = metal(color = "gold", fuzz = 0.2))) %>%
render_scene(lookfrom = c(278, 278, -800) ,lookat = c(278, 278, 0), fov = 40,
ambient_light = FALSE, samples = 400, parallel = TRUE, clamp_value = 5) #Add motion blur and show the sphere moving
generate_cornell() %>%
add_object(sphere(x = 555/2, y = 100, z = 555/2, radius = 100,
material = metal(color = "gold", fuzz = 0.2), velocity = c(50, 0, 0))) %>%
render_scene(lookfrom = c(278, 278, -800) ,lookat = c(278, 278, 0), fov = 40,
ambient_light = FALSE, samples = 400, parallel = TRUE, clamp_value = 5) 