R语言rayrender包,csg_cylinder生成圆柱体
2021-07-27 本文已影响0人
youmigo
1.png
2.png
3.png
R语言rayrender包,csg_cylinder生成圆柱体
# Wed Jun 16 00:37:18 2021 -
# 字符编码:UTF-8
# R 版本:R 4.1 x64 for window 10
# cgh163email@163.com
# 个人笔记不负责任,拎了个梨🍐🍈
#.rs.restartR()
require(rayrender)
rm(list = ls());gc()
csg_cylinder生成圆柱体
#生成基本圆柱体:
generate_ground(material=diffuse(checkercolor="grey20")) %>%
add_object(csg_object(csg_cylinder(radius=0.25),material=glossy(color="red"))) %>%
render_scene(clamp_value=10,fov=20)
#Change the orientation by specifying a start and end
generate_ground(material=diffuse(color="dodgerblue4",checkercolor="grey10")) %>%
add_object(csg_object(csg_cylinder(start = c(-1,0.5,-2), end = c(1,0.5,-2),
radius=0.5),material=glossy(checkercolor="red"))) %>%
render_scene(clamp_value=10,fov=20,
lookat=c(0,0.5,-2),lookfrom=c(3,3,10))
#Show the effect of changing the radius
generate_ground(material=diffuse(color="dodgerblue4",checkercolor="grey10")) %>%
add_object(csg_object(
csg_combine(
csg_cylinder(start = c(-1,0.5,-2), end = c(1,0.5,-2), radius=0.5),
csg_cylinder(start = c(-0.5,1.5,-2), end = c(0.5,1.5,-2), radius=0.25)),
material=glossy(checkercolor="red"))) %>%
render_scene(clamp_value=10,fov=20,
lookat=c(0,0.5,-2),lookfrom=c(-3,3,10))
#Render a red marble cylinder in a Cornell box
generate_cornell(light=FALSE) %>%
add_object(csg_object(
csg_cylinder(start = c(555/2,0,555/2), end = c(555/2,350,555/2), radius=100),
material=glossy(color="darkred",noisecolor="white",noise=0.03))) %>%
add_object(sphere(y=555,x=5,z=5, radius=5,
material=light(intensity=10000,
spotlight_focus = c(555/2,555/2,555/2),spotlight_width = 45))) %>%
render_scene(clamp_value=4)
# Wed Jun 16 00:39:25 2021 --
dev.copy(png, "3.png");dev.off()