Learn R Programming

rayrender (version 0.38.8)

csg_cone: CSG Cone

Description

CSG Cone

Usage

csg_cone(start = c(0, 0, 0), end = c(0, 1, 0), radius = 0.5)

Value

List describing the box in the scene.

Arguments

start

Default `c(0, 0, 0)`. Start point of the cone, specifing `x`, `y`, `z`.

end

Default `c(0, 1, 0)`. End point of the cone, specifing `x`, `y`, `z`.

radius

Default `1`. Radius of the bottom of the cone.

Examples

Run this code
if(run_documentation()) {
#Generate a basic cone:
generate_ground(material=diffuse(checkercolor="grey20")) %>% 
  add_object(csg_object(csg_cone(),material=glossy(color="red"))) %>% 
  render_scene(clamp_value=10, samples=16,fov=20)
  }
if(run_documentation()) {
#Change the orientation by specifying a start and end
generate_ground(material=diffuse(color="dodgerblue4",checkercolor="grey10")) %>% 
  add_object(csg_object(csg_cone(start = c(-1,0.5,-2), end = c(1,0.5,-2),
  radius=0.5),material=glossy(checkercolor="red"))) %>% 
  render_scene(clamp_value=10, samples=16,fov=20,
               lookat=c(0,0.5,-2),lookfrom=c(3,3,10))
 }
if(run_documentation()) {
#Show the effect of changing the radius
generate_ground(material=diffuse(color="dodgerblue4",checkercolor="grey10")) %>% 
  add_object(csg_object(
    csg_combine(
    csg_cone(start = c(-1,0.5,-2), end = c(1,0.5,-2), radius=0.5),
    csg_cone(start = c(-0.5,1.5,-2), end = c(0.5,1.5,-2), radius=0.2)),
    material=glossy(checkercolor="red"))) %>% 
  render_scene(clamp_value=10, samples=16,fov=20,
               lookat=c(0,0.5,-2),lookfrom=c(-3,3,10))
    }
if(run_documentation()) {           
#Render a glass cone in a Cornell box
generate_cornell() %>% 
  add_object(csg_object(
    csg_cone(start = c(555/2,0,555/2), end = c(555/2,555/2+100,555/2), radius=100),
    material=dielectric(attenuation=c(1,1,0.3)/100))) %>% 
  render_scene(clamp_value=10, samples=16)
}

Run the code above in your browser using DataLab