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()

上一篇下一篇

猜你喜欢

热点阅读