Arrow 3D Model
arrow_mesh(
start = c(0, 0, 0),
end = c(0, 1, 0),
radius_top = 0.5,
radius_tail = 0.25,
tail_proportion = 0.5,
direction = NA,
from_center = TRUE,
material = material_list()
)
Default c(0, 0, 0)
. Base of the arrow, specifying x
, y
, z
.
Default c(0, 1, 0)
. Tip of the arrow, specifying x
, y
, z
.
Default 0.5
. Radius of the top of the arrow.
Default 0.2
. Radius of the tail of the arrow.
Default 0.5
. Proportion of the arrow that is the tail.
Default NA
. Alternative to start
and end
, specify the direction (via
a length-3 vector) of the arrow. Arrow will be centered at start
, and the length will be
determined by the magnitude of the direction vector.
Default TRUE
. If orientation specified via direction
, setting this argument
to FALSE
will make start
specify the bottom of the cone, instead of the middle.
Default material_list()
(default values). Specify the material of the object.
List describing the mesh.
if(run_documentation()) {
#Generate an arrow
generate_cornell_mesh() |>
add_shape(arrow_mesh(start = c(555/2, 20, 555/2), end = c(555/2, 300, 555/2), radius_tail=50,
radius_top = 100,
material = material_list(diffuse="dodgerblue"))) |>
rasterize_scene(light_info = directional_light(c(0.5,0.5,-1)))
}
#> Setting default values for Cornell box: lookfrom `c(278,278,-800)` lookat `c(278,278,0)` fov `40` .
if(run_documentation()) {
#Generate a blue arrow with a wide tail
generate_cornell_mesh() |>
add_shape(arrow_mesh(start = c(555/2, 20, 555/2), end = c(555/2, 300, 555/2), radius_tail=100,
radius_top = 150,
material = material_list(diffuse="dodgerblue"))) |>
rasterize_scene(light_info = directional_light(c(0.5,0.5,-1)))
}
#> Setting default values for Cornell box: lookfrom `c(278,278,-800)` lookat `c(278,278,0)` fov `40` .
if(run_documentation()) {
#Generate a long, thin arrow and change the proportions
generate_cornell_mesh() |>
add_shape(arrow_mesh(start = c(555/2, 20, 555/2), end = c(555/2, 400, 555/2), radius_top=30,
radius_tail = 10, tail_proportion = 0.8,
material = material_list(diffuse="dodgerblue"))) |>
rasterize_scene(light_info = directional_light(c(0.5,0.5,-1)))
}
#> Setting default values for Cornell box: lookfrom `c(278,278,-800)` lookat `c(278,278,0)` fov `40` .
if(run_documentation()) {
#Change the start and end points
generate_cornell_mesh() |>
add_shape(arrow_mesh(start = c(500, 20, 555/2), end = c(50, 500, 555/2), radius_top=30,
radius_tail = 10, tail_proportion = 0.8,
material = material_list(diffuse="dodgerblue"))) |>
add_shape(arrow_mesh(start = c(500, 500, 500), end = c(50, 50, 50), radius_top=30,
radius_tail = 10, tail_proportion = 0.8,
material = material_list(diffuse="red"))) |>
add_shape(arrow_mesh(start = c(555/2, 50, 500), end = c(555/2, 50, 50), radius_top=30,
radius_tail = 10, tail_proportion = 0.8,
material = material_list(diffuse="green"))) |>
rasterize_scene(light_info = directional_light(c(0.5,0.5,-1)))
}
#> Setting default values for Cornell box: lookfrom `c(278,278,-800)` lookat `c(278,278,0)` fov `40` .