pov-ray软件绘图--室内一角

2023-11-07 06:10
文章标签 软件 绘图 ray 室内 pov 一角

本文主要是介绍pov-ray软件绘图--室内一角,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 一、 运行结果

二、设计思路

本次图片设计采用Pov-Ray软件完成,内容为室内一角,具体包括桌凳,柜子,壁画,水杯等物品以及光影效果的实现。

三、设计过程

1. 相机

相机位置放在屏幕外,镜头朝向屏幕内侧,模拟现实中从门外看房间的视角,方便后续物品定位。

2. 光源

图片物品颜色多为暖色调,故全局光源采用了米色光,使图片更加柔和,位置放在天花板的中心位置。

3. 墙壁

用box函数定义四个边界相接的长方体,构成屋内空间,旋转摄像机镜头,使视角从侧面看入,地板颜色利用image_map函数进行图片贴图构成木质地板效果,侧墙和天花板采用图片贴图实现渐变色墙纸效果。

侧墙和天花板同理,详见附录代码。

4. 屋内陈设
(1)桌子

利用cone函数定义两个相叠的物体作为桌子的上下底座,改变半径和高度使之匹配;再利用cylinder函数定义一个高度与底面圆半径比较小的圆柱体作为桌面,调整坐标使桌面底和上底座上表面相接,组合构成桌子。

(2)凳子

利用cylinder函数定义圆柱体,内置wood纹理函数改变表面图案,改变高度半径使之与桌子大小匹配,构成凳子。

另一个凳子同理,详见附录代码。

(3)吊灯

吊灯形状为圆柱形和球型,分别用cylinder和sphere函数实现,用open函数打开,内置米色光源,实现吊灯局部照亮效果。再利用cylinder函数定义两个半径极小的圆柱体作为吊灯绳,组合构成吊灯。

另一个圆柱形吊灯同理,详见附录代码。

(4)柜子和置物架

利用box函数建立和墙壁表面坐标相同(即两物体相连)的长方体,在柜子表面再次利用box函数建立若干个与柜子表面坐标相同的长方体,调小z轴距离使物体变薄,实现柜子表面柜门效果。在柜门靠近边缘中央部分,用sphere函数定义两个球体,得到柜门把手。最后利用内置wood纹理函数改变表面花色,组合构成柜子和置物架。

其他部分同理,详见附录代码。

(5)壁画和画框

利用box函数定义紧贴墙面的薄板,采用image_map函数表面贴图,再在长方体边缘(或四角)定义长条形长方体,构成画框,组合构成挂画和摆画。

其他部分同理,详见附录代码。

(6)球形摆件

利用sphere函数定义三个半径不同的球体,对应置物架坐标放在置物架上,内置textures函数调成中空旋转花型。

其他不同半径效果同理,详见附录代码。

(7)水杯

利用cylinder函数定义一个圆柱体,对应坐标放在桌面上,内置glass函数使杯子呈现玻璃状,open处理后,再次定义一个半径略小的圆柱体,放在杯子内部,利用glass函数为圆柱体着色,形成杯子内有饮品的效果。构成杯子。

(8)书本

利用box函数定义长方体,上下堆叠,调整坐标实现参差不齐的书本摞起效果。

(9)盆栽

利用cylinder函数定义一个圆柱体,open处理后调整坐标作为花盆;再利用sphere函数定义一个球体放在圆柱体上,内置texture函数实现绣球花的效果。构成盆栽。

四、附录

#include "colors.inc" // 定义基本颜色
#include "shapes.inc" // 定义基本形状物体
#include "textures.inc" // 定义一些物体属性
#include "woods.inc"//定义纹理
#include "glass.inc"
#include "stones.inc"
#include "metals.inc" //屏幕向左为x正半轴,向上为y正半轴,向内为z正半轴camera {location<-4.2,-4,17> look_at<.8,-3.3,-1> 
}       light_source {<0,0,10>color rgb<247,238,214>/255
}sky_sphere { pigment { rgb<247,238,214>/255 } 
}//吊灯光源左
light_source {<7.2,.15,-3>         White 
}//吊灯光源右
light_source {<6,5,-5>         White 
}//窗户光源
light_source {<19,0,-10>color rgb<247,238,214>/255
}  //地板
box {<-20,-14,3>,<20,-12,-17>pigment {    image_map {jpeg "C:\Users\sun\Desktop\carpet.jpg"        }}    
} //地板 //后墙
box {<-20,-14,-25>,<20,15,-17>pigment { image_map {jpeg "C:\Users\sun\Desktop\wallpaper.jpg"map_type 1       }}
}//后墙   //侧墙
box {<20,-14,3>,<20,15,-30>pigment { image_map {jpeg "C:\Users\sun\Desktop\wallpaper.jpg"map_type 1        }}
}//侧墙 //天花板
box {<-20,10,-30>,<20,10,-3>pigment { image_map {jpeg "C:\Users\sun\Desktop\wallpaper.jpg" map_type 1       }  }
}//天花板 //窗户
box {<20,-5,-13>,<19.99,5,-5>pigment { image_map {jpeg "C:\Users\sun\Desktop\sunrise.jpg"map_type 1   }}finish { ambient .5 }
}//窗户//左窗框
box {<21,-5.3,-4.5>,<19.99,5.3,-5>texture{ T_Wood22    normal { wood 0.5 scale 0.05 turbulence 0.1 rotate<0,0,0> }finish { diffuse 1.9 phong 1 } rotate<0,0,0> scale 0.5 translate<0,0,0>} // end of texture     
}//左窗框//下窗框
box { <19.99,-5,-5>,<19.99,-5.3,-13>texture{ T_Wood22    normal { wood 0.5 scale 0.05 turbulence 0.1 rotate<0,0,0> }finish { diffuse 1.9 phong 1 } rotate<0,0,0> scale 0.5 translate<0,0,0>} // end of texture
}//下窗框 //上窗框
box {<19.99,5,-5>,<19.99,5.3,-13>texture{ T_Wood22    normal { wood 0.5 scale 0.05 turbulence 0.1 rotate<0,0,0> }finish { diffuse 1.9 phong 1 } rotate<0,0,0> scale 0.5 translate<0,0,0>} // end of texture
}//上窗框//右窗框
box {<19.99,-5.3,-13.3>,<19.99,5.3,-13>texture{ T_Wood22    normal { wood 0.5 scale 0.05 turbulence 0.1 rotate<0,0,0> }finish { diffuse 1.9 phong 1 } rotate<0,0,0> scale 0.5 translate<0,0,0>} // end of texture
}//右窗框//桌子下底座
cone {<6,-12,-3>,3<6,-9,-3>,1.2 finish { ambient .4}  texture{ DMFDarkOaknormal { wood 0.5 scale 0.3 turbulence 0.1}finish { phong 1 } rotate<60,0,45>scale 0.25}//end of texture          
}//桌子下底座//桌子上底座
cone {<6,-7.5,-3>,2.4<6,-9,-3>,1.2 finish { ambient .4}  texture{ DMFDarkOaknormal { wood 0.5 scale 0.3 turbulence 0.1}finish { phong 1 } rotate<60,0,45>scale 0.25} // end of texture                             
}//桌子上底座//桌面
cylinder{<6,-7.2,-3><6,-7,-3>4.5 texture{ T_Wood13    normal { wood 0.5 scale 0.05 turbulence 0.0 rotate<0,0,0> }finish { phong 1 } rotate<0,0,0> scale 0.5 translate<0,0,0>} // end of texture 
}//桌面//凳子右
cylinder{<.5,-9,-5><.5,-12,-5>1.5finish { ambient .4}  texture{ DMFDarkOaknormal { wood 0.5 scale 0.3 turbulence 0.1}finish { phong 1 } rotate<60,0,45>scale 0.25} // end of texture
}//凳子右 //凳子左
cylinder{<4.5,-9,-9><4.5,-12,-9>1.5finish { ambient .4}  texture{ DMFDarkOaknormal { wood 0.5 scale 0.3 turbulence 0.1}finish { phong 1 } rotate<60,0,45>scale 0.25} // end of texture
}//凳子左//吊灯左
//吊灯绳
cylinder {<7.2,10,-3><7.2,2,-3>.05pigment { Black }
}sphere {<7.2,1,-3>,1texture{ // layer 1   pigment{ wood turbulence 0.02 octaves 4 lambda 3scale 0.175  rotate <2, 2, 0> color_map {[0.0 color rgb <1.30, 0.99, 0.64>][0.5 color rgb <0.75, 0.39, 0.17>][0.7 color rgb <0.75, 0.39, 0.17>][1.0 color rgb <1.30, 0.99, 0.64>]}// end of color_map} // end of pigmentfinish { phong 1 } rotate <0,0, 0>  scale 1  translate <0,0,0>} // end of texture ------------------------------texture{ // layer 2    pigment{ wood turbulence 0.02 octaves 4 lambda 2.8scale 0.2 rotate <2, 2, 0> translate <0.0175, 0.0175, 0.0175>color_map {[0.00 color rgbt <1.00, 0.97, 0.95, 1.30>][0.55 color rgbt <0.85, 0.85, 0.40, 0.70>][0.65 color rgbt <0.85, 0.85, 0.40, 0.70>][1.00 color rgbt <1.00,0.975, 0.95, 1.30>]}// end of color_map} // end of pigmentfinish { phong 1 } rotate <0,0, 0>  scale 1  translate <0,0,0>} // end of texture ------------------------------
}//吊灯左//吊灯右
//吊灯绳
cylinder {<6,10,-5><6,5,-5>.05pigment { Black }
}cone {<6,3,-5>,1.2<6,5,-5>,1.2open texture{ // layer 1   pigment{ wood turbulence 0.02 octaves 4 lambda 3scale 0.175  rotate <2, 2, 0> color_map {[0.0 color rgb <1.30, 0.99, 0.64>][0.5 color rgb <0.75, 0.39, 0.17>][0.7 color rgb <0.75, 0.39, 0.17>][1.0 color rgb <1.30, 0.99, 0.64>]}// end of color_map} // end of pigmentfinish { phong 1 } rotate <0,0, 0>  scale 1  translate <0,0,0>} // end of texture ------------------------------texture{ // layer 2    pigment{ wood turbulence 0.02 octaves 4 lambda 2.8scale 0.2 rotate <2, 2, 0> translate <0.0175, 0.0175, 0.0175>color_map {[0.00 color rgbt <1.00, 0.97, 0.95, 1.30>][0.55 color rgbt <0.85, 0.85, 0.40, 0.70>][0.65 color rgbt <0.85, 0.85, 0.40, 0.70>][1.00 color rgbt <1.00,0.975, 0.95, 1.30>]}// end of color_map} // end of pigmentfinish { phong 1 } rotate <0,0, 0>  scale 1  translate <0,0,0>} // end of texture ------------------------------
}//吊灯右//地柜
box { <-15,-14,-17>,<-5,-8,-12>texture{ T_Wood10    normal { wood 0.5 scale 0.05 turbulence 0.0 rotate<0,0,0> }finish { phong 1 } rotate<0,0,0> scale 0.5 translate<0,0,0>} // end of texture    
}//地柜//置物架上
box { <10,-1,-17>,<0,-.5,-15>texture{ T_Wood10    normal { wood 0.5 scale 0.05 turbulence 0.0 rotate<0,0,0> }finish { phong 1 } rotate<0,0,0> scale 0.5 translate<0,0,0>} // end of texture     
}//置物架上//置物架下
box { <2.5,-3.5,-17>,<-2.5,-4,-15>texture{ T_Wood10    normal { wood 0.5 scale 0.05 turbulence 0.0 rotate<0,0,0> }finish { phong 1 } rotate<0,0,0> scale 0.5 translate<0,0,0>} // end of texture     
}//置物架下//壁柜
box { <-15,4,-17>,<-5,0,-12>texture{ T_Wood10    normal { wood 0.5 scale 0.05 turbulence 0.0 rotate<0,0,0> }finish { phong 1 } rotate<0,0,0> scale 0.5 translate<0,0,0>} // end of texture    
}//壁柜//球型摆件大
sphere {<8,.7,-16>,1.4texture { spiral1 5 scale 0.5                texture_map{ [0.25 pigment{ color rgbf <1,0.65,0.2,0>}normal { bumps 0.5 scale 0.25}finish { phong 0.2 reflection 0.30}][0.25 pigment{ color rgbf <1,1,1,1>} ][0.75 pigment{ color rgbf <1,1,1,1>} ][0.75 pigment{ color rgbf <1,0.65,0.2,0>}normal { bumps 0.5 scale 0.25}finish { phong 0.2 reflection 0.30}]} // end of texture_maprotate<90,0,0>} // end of texture ------------------------------------- 
}//球形摆件大      //球形摆件中
sphere {<3.2,.4,-16>,.9texture { spiral1 5 scale 0.5                   //---------------- texture_map{ [0.25 pigment{ color rgbf <1,0.65,0.2,0>}normal { bumps 0.5 scale 0.25}finish { phong 0.2 reflection 0.30}][0.25 pigment{ color rgbf <1,1,1,1>} ][0.75 pigment{ color rgbf <1,1,1,1>} ][0.75 pigment{ color rgbf <1,0.65,0.2,0>}normal { bumps 0.5 scale 0.25}finish { phong 0.2 reflection 0.30}]} // end of texture_maprotate<90,0,0>} // end of texture ------------------------------------- 
}//球型摆件中//球型摆件小
sphere {<1.5,.2,-16>,0.6texture { spiral1 5 scale 0.5                   //---------------- texture_map{ [0.25 pigment{ color rgbf <1,0.65,0.2,0>}normal { bumps 0.5 scale 0.25}finish { phong 0.2 reflection 0.30}][0.25 pigment{ color rgbf <1,1,1,1>} ][0.75 pigment{ color rgbf <1,1,1,1>} ][0.75 pigment{ color rgbf <1,0.65,0.2,0>}normal { bumps 0.5 scale 0.25}finish { phong 0.2 reflection 0.30}]} // end of texture_maprotate<90,0,0>} // end of texture ------------------------------------- 
}//球型摆件小//地柜画横
box {<-12.8,-7.8,-17>,<-18,-4.5,-16> pigment { image_map {jpeg "C:\Users\sun\Desktop\sunset.jpg"map_type 5}    }finish { ambient .4} 
}//地柜画横//地柜画框横左
box {<-12.6,-8.1,-17>,<-12.8,-4.4,-16.8>texture{ DMFWood3    normal { wood 0.5 scale 0.05 rotate<0,0,0> }finish { phong 1 } rotate<0,0,0> scale 1  translate<0,0,0>} // end of texture 
}//地柜画框横左//地柜画框横下
box {<-12.6,-8,-17>,<-18,-7.8,-16>texture{ DMFWood3    normal { wood 0.5 scale 0.05 rotate<0,0,0> }finish { phong 1 } rotate<0,0,0> scale 1  translate<0,0,0>} // end of texture 
}//地柜画框横下//地柜画框横上
box {<-12.6,-4.5,-17>,<-18,-4.3,-16>texture{ DMFWood3    normal { wood 0.5 scale 0.05 rotate<0,0,0> }finish { phong 1 } rotate<0,0,0> scale 1  translate<0,0,0>} // end of texture 
}//地柜画框横上//地柜画竖
box {<-11.5,-8,-17>,<-6.5,-2,-16> pigment { image_map {jpeg "C:\Users\sun\Desktop\sunrise.jpg"map_type 1}    }finish { ambient .4}
}//地柜画竖//地柜画框竖左
box {<-6.6,-8,-17>,<-6.4,-6.8,-16> 
}//地柜画竖左//地柜画框竖下
box {<-6.5,-8,-17>,<-7.6,-7.7,-16> 
}//地柜画竖下//地柜画框竖右
box {<-11.4,-8.1,-17>,<-11.6,-6.7,-16>
}//地柜画框竖右//地柜画框竖下
box {<-10.5,-8,-17>,<-11.6,-7.7,-16>
}//地柜画框竖下//地柜柜门
//左扇
box {<-5.5,-11.5,-11.75>,<-10,-8.3,-12>texture{ T_Wood10    normal { wood 0.5 scale 0.05 turbulence 0.0 rotate<0,0,0> }finish { phong 1 } rotate<0,0,0> scale 0.5 translate<0,0,0>} // end of texture 
} //右扇
box {<-10.8,-11.5,-11.75>,<-14.5,-8.3,-12>texture{ T_Wood10    normal { wood 0.5 scale 0.05 turbulence 0.0 rotate<0,0,0> }finish { phong 1 } rotate<0,0,0> scale 0.5 translate<0,0,0>} // end of texture 
}//地柜柜门//地柜柜门把手
//左扇
sphere {<-9.7,-10,-11.75>,.15
}   //左扇
sphere {<-11.1,-10,-11.75>,.15
}//右扇//壁柜柜门
box { <-15,3.7,-11.5>,<-5.4,.3,-12>texture{ T_Wood10    normal { wood 0.5 scale 0.05 turbulence 0.0 rotate<0,0,0> }finish { phong 1 } rotate<0,0,0> scale 0.5 translate<0,0,0>} // end of texture    
}//壁柜柜门//壁柜柜门把手
sphere { <-10.2,.7,-11.5>,.15
}//壁柜柜门把手//书
//下层
box {<4,-6.3,-5><6.5,-7,-3>pigment { White }
}//下层//上层
box {<4.5,-6,-3.5><7,-6.3,-5>pigment { White }
}//上层
//书//水杯  
cone {<3.5,-5.5,-1>,.5<3.5,-7,-1>,.5material{ texture { NBglass } // end of texture interior{ I_Glass } // end of interior} // end of material -------------------finish { phong 1 }normal { bumps 1 }
}//水杯//水 
cone {<3.5,-6,-1>,.4<3.5,-7,-1>,.4material{ texture { Orange_Glass } // end of texture interior{ I_Glass } // end of interior} // end of material -------------------}//水//盆栽
//圆柱形花盆
cylinder{ <7.5,-7,-1>,<7.5,-6.2,-1>, .65opentexture { T_Silver_1A//normal { bumps 0.5 scale 0.15} finish { phong 1}} // end of texture } //圆柱形花盆//绿植
sphere { <7.5,-6.9,-1>, .65texture { pigment{ color rgb<0.35,0.55,0>*0.9}                                     normal { bumps 1.75 scale 0.05} finish { phong 0.5 reflection{ 0 metallic 0} } } scale<1,1,1>  rotate<0,0,0>  translate<0,1,0>  
} //绿植
//盆栽


 大二的课设,基本都用的内置函数,很简单。

这篇关于pov-ray软件绘图--室内一角的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/361753

相关文章

AI绘图怎么变现?想做点副业的小白必看!

在科技飞速发展的今天,AI绘图作为一种新兴技术,不仅改变了艺术创作的方式,也为创作者提供了多种变现途径。本文将详细探讨几种常见的AI绘图变现方式,帮助创作者更好地利用这一技术实现经济收益。 更多实操教程和AI绘画工具,可以扫描下方,免费获取 定制服务:个性化的创意商机 个性化定制 AI绘图技术能够根据用户需求生成个性化的头像、壁纸、插画等作品。例如,姓氏头像在电商平台上非常受欢迎,

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

软件设计师备考——计算机系统

学习内容源自「软件设计师」 上午题 #1 计算机系统_哔哩哔哩_bilibili 目录 1.1.1 计算机系统硬件基本组成 1.1.2 中央处理单元 1.CPU 的功能 1)运算器 2)控制器 RISC && CISC 流水线控制 存储器  Cache 中断 输入输出IO控制方式 程序查询方式 中断驱动方式 直接存储器方式(DMA)  ​编辑 总线 ​编辑

【STM32】SPI通信-软件与硬件读写SPI

SPI通信-软件与硬件读写SPI 软件SPI一、SPI通信协议1、SPI通信2、硬件电路3、移位示意图4、SPI时序基本单元(1)开始通信和结束通信(2)模式0---用的最多(3)模式1(4)模式2(5)模式3 5、SPI时序(1)写使能(2)指定地址写(3)指定地址读 二、W25Q64模块介绍1、W25Q64简介2、硬件电路3、W25Q64框图4、Flash操作注意事项软件SPI读写W2

免费也能高质量!2024年免费录屏软件深度对比评测

我公司因为客户覆盖面广的原因经常会开远程会议,有时候说的内容比较广需要引用多份的数据,我记录起来有一定难度,所以一般都用录屏工具来记录会议内容。这次我们来一起探索有什么免费录屏工具可以提高我们的工作效率吧。 1.福晰录屏大师 链接直达:https://www.foxitsoftware.cn/REC/  录屏软件录屏功能就是本职,这款录屏工具在录屏模式上提供了多种选项,可以选择屏幕录制、窗口

HomeBank:开源免费的个人财务管理软件

在个人财务管理领域,找到一个既免费又开源的解决方案并非易事。HomeBank&nbsp;正是这样一个项目,它不仅提供了强大的功能,还拥有一个活跃的社区,不断推动其发展和完善。 开源免费:HomeBank 是一个完全开源的项目,用户可以自由地使用、修改和分发。用户友好的界面:提供直观的图形用户界面,使得非技术用户也能轻松上手。数据导入支持:支持从 Quicken、Microsoft Money

PDF 软件如何帮助您编辑、转换和保护文件。

如何找到最好的 PDF 编辑器。 无论您是在为您的企业寻找更高效的 PDF 解决方案,还是尝试组织和编辑主文档,PDF 编辑器都可以在一个地方提供您需要的所有工具。市面上有很多 PDF 编辑器 — 在决定哪个最适合您时,请考虑这些因素。 1. 确定您的 PDF 文档软件需求。 不同的 PDF 文档软件程序可以具有不同的功能,因此在决定哪个是最适合您的 PDF 软件之前,请花点时间评估您的

梳理2024年,螺丝钉们爱用的3款剪辑软件

这年头,视频到处都是,就跟天上的星星一样数不清。不管你是公司里的新面孔,还是职场上的老狐狸,学会怎么剪视频,就好比找到了赢的秘诀。不管是给上司汇报工作,展示你的产品,还是自己搞点小视频记录生活,只要是剪辑得漂亮,肯定能一下子吸引大家的目光,让人记得你。咱们今天就来侃侃现在超火的三款视频剪辑工具,尤其是PR剪辑,你肯定听说过,这货在剪辑界可是大名鼎鼎,用它剪视频,既专业又麻利。 NO1. 福昕轻松

秒变高手:玩转CentOS 7软件更换的方法大全

在 CentOS 7 中更换软件源可以通过以下步骤完成。更换源可以加快软件包的下载速度,特别是当默认源速度较慢时。以下是详细步骤: 前言 为了帮助您解决在使用CentOS 7安装不了软件速度慢的问题,我们推出了这份由浪浪云赞助的教程——“CentOS7如何更换软件源加快下载速度”。 浪浪云,以他们卓越的弹性计算、云存储和网络服务受到广泛好评,他们的支持和帮助使得我们可以将最前沿的技术知识分

excel翻译软件有哪些?如何高效提翻译?

你是否曾在面对满屏的英文Excel表格时感到头疼?项目报告、数据分析、财务报表... 当这些重要的信息被语言壁垒阻挡时,效率和理解度都会大打折扣。别担心,只需3分钟,我将带你轻松解锁excel翻译成中文的秘籍。 无论是职场新人还是老手,这一技巧都将是你的得力助手,让你在信息的海洋中畅游无阻。 方法一:使用同声传译王软件 同声传译王是一款专业的翻译软件,它支持多种语言翻译,可以excel