cityengine规则建模实例
以下是cityengine建模实例代码
必要的文字性说明都在代码注释中标明了
/*** File: myrule3.cga* Created: 20 Feb 2021 08:45:29 GMT* Author: 86159*/version "2019.0"
//以上是新建规则rule文件自带的代码const groundwall_tex="assets/groundwall.png"
const wall_tex="assets/wall.png"
const door_tex="assets/door.png"
const window_tex="assets/window.png"//定义纹理图片为常量,“”部分是图片文件路径attr height=24
Lot-->extrude(height) BuildingBuilding-->comp(f) { front : Frontfacade |side : Sidefacade |top : Topfacade }
//组件分离函数分离各个面并命名attr groundfloor_height=5.5attr floor_height=4.5attr tile_width=4Frontfacade-->split(y) { groundfloor_height : Groundfloor|{~floor_height : UPEfloor}* }
//纵向切割,一楼底层,其他上层楼重复切割得出UPEfloor-->split(x){ 1 : Wall|{~tile_width : Tile}*|1 : Wall }
//横向切割出墙面和房间格Groundfloor-->split(x){{~tile_width : GroundTile}*|5 : EntranceTile| {~tile_width : GroundTile}* }
//横向切割出一楼墙面和房间格 Tile-->split(x){~1 : Wall |2 : split(y){ 1 : Wall| 1.5 : Window| ~1 : Wall} |~1 : Wall }
//对房间格进行纵向切割,分出窗户以及窗户上下的墙面 GroundTile-->split(x){ ~1 : GroundWall|2 : split(y){ 1 : GroundWall | 1.5 : Window | ~1 : GroungWall}* |~1 : GroundWall }
//对一楼房间格进行纵向切割,分出窗户以及窗户上下的墙面 Sidefacade-->split(y){ groundfloor_height : Sidefloor|{~floor_height : Floor}* }
//对侧墙分割出一楼大厅的部分,其余为整面侧墙,不进行楼层分割Sidefloor-->split(x){ 1 : GroundWall |{~tile_width : GroundTile}* |1 : GroundWall }
//对一楼大厅侧面进行横向切割,分出墙和房间格
//再根据之前对GroundTile的定义可以直接得出带窗户的房间//以下是对各个部件进行贴图的操作
//其中门窗会涉及到伸缩,使用平移函数t(tx,ty,tz)即可
GroundWall-->setupProjection(0,scope.xy,scope.sx,scope.sy)texture(groundwall_tex)projectUV(0)Wall-->setupProjection(0,scope.xy,scope.sx,scope.sy)texture(wall_tex)projectUV(0)Window-->t(0,0,-0.25)setupProjection(0,scope.xy,scope.sx,scope.sy)texture(window_tex)projectUV(0)EntranceTile-->t(0,0,-0.25)setupProjection(0,scope.xy,scope.sx,scope.sy)texture(door_tex)projectUV(0)Floor-->setupProjection(0,scope.xy,scope.sx,scope.sy)texture(wall_tex)projectUV(0)Topfacade-->setupProjection(0,scope.xy,scope.sx,scope.sy)texture(wall_tex)projectUV(0)
/*setupProjection(0,scope.xy,scope.sx,scope.sy)texture(wall_tex)projectUV(0)这一段代码是纹理贴图核心规则代码*/
此图是我找的纹理图片的存放位置路径
显然我的纹理图片都是我瞎找的,其实就是我在我的电脑壁纸上面抠的不同位置的图()咳咳,将就看吧。下次注意(bushi
cityengine规则建模实例相关推荐
- 互联网电商大数据环境 ——大数飓数据分析实践培训精华笔记(五)——数据仓库维度建模实例
维度建模实例 库存管理业务建模案例 1. 选定某一业务过程,如:库存管理业务 2.根据各用户的需求(关注的主题),定义该业务处理的粒度. 主题一:矿厂中每种产品库存水平的日快照 主题二:每种特定产品的 ...
- XPath语法规则及实例
XPath语法规则及实例 XPath语法规则 一.XPath术语: 1.节点:在XPath中,有七种类型的节点:元素.属性.文本.命名空间.处理指令.注释以及文档(根)节点. XML文档是被作为节点树 ...
- 双层玻璃窗的功效模型matlab,数学建模实例双层玻璃的功效
<数学建模实例双层玻璃的功效>由会员分享,可在线阅读,更多相关<数学建模实例双层玻璃的功效(4页珍藏版)>请在人人文库网上搜索. 1.数学建模入门双层玻璃窗的功效双层玻璃的功效 ...
- 经典!沐风老师3DMAX建模实例系列教程上线啦。。。
经典!沐风老师3DMAX建模实例系列教程上线啦... 该系列之一[3DMAX螺旋球吊灯建模]封面 3DMAX建模是基础,也是3DMAX所有功能中不可绕过的,使用频率最高的,目前在3D游戏角色建模.科学 ...
- 【线性规划LP建模实例——化学工厂肥料】
线性规划LP建模实例--化学工厂肥料 Usine chimique Required Files: engrais.mod, configExe Dans une usine chimique on ...
- 车间调度建模系列9|复杂车间调度问题建模实例
获取更多资讯,赶快关注公众号(名称:智能制造与智能调度,公众号:deeprlscheduler)吧! 三维析取图模型建模系列目录 复杂车间调度问题三维析取图建模系列预告 车间调度建模系列1|复杂车间调 ...
- Flexsim 建模实例
Flexsim建模实例 小编用FLexsim对下面这个实例进行建模,建模的过程和细节可以见小编的另一篇资源文件,部分布局如下,希望能够对你有所帮助,有问题可以一起在评论区探讨. 1.每隔20秒一份原材 ...
- 饿狼追兔的可视化matlab,高阶常微分方程模型饿狼追兔问题数学建模实例
高阶常微分方程模型饿狼追兔问题数学建模实例 现有一只兔子.一匹狼,兔子位于狼的正西110米处,假设兔子与狼同时发现对方并一起起跑,兔子往正北70米处的巢穴跑,而狼在追兔子.已知兔子.狼是匀速跑且狼的速 ...
- matlab画足球,应用MATLAB建模实例.ppt
应用MATLAB建模实例--数学也是一门技术 数学是一门技术 一个例子--足球比赛中的吊门问题 谈谈数学建模竞赛及培训 数学是一门技术 技术的定义 <辞海>:泛指根据生产实践经验和自然科学 ...
最新文章
- oracle test就死,简单说明Oracle数据库中对死锁的查询及解决方法
- 老男孩为网友工作疑难问题解答一例
- python 微信_wxpy: 用 Python 玩微信
- 单源最短路(spfa+Dijkstra)附数据
- 用matlab算配筋,[配筋计算]连梁的配筋计算 - 土木在线
- matlab 贝叶斯回归,贝叶斯向量自回归MATLAB代码 使用matlab实现贝叶斯向量自回归模型 - 下载 - 搜珍网...
- html5银行理财项目实践作业,金融理财产品实践报告.doc
- 红茶保质期一年半,我都放了五年了,打开还有茶味,能喝吗?
- Java后端面试必问:四十八道面试题及答案最新整理(速看速藏)
- 微信公众平台开发教程第2篇-----微信开发者接入
- 微信内置浏览器 缓存清理
- android的webview控件载入网页显示速度慢的究极解决方案,【转】Android的WebView控件载入网页显示速度慢的究极解决方案...
- ubuntu7.10下使用QQ聊天-wine+QQ2007安装设置方法
- insmod源码分析
- excel WPS批量删除表格中某一列为空的行数据
- 实现简单的带头双向循环链表
- MATLAB:女声转男声
- wxParse-微信小程序解析富文本组件的使用总结
- 指纹识别(一)—— 电容式、光学式、超声波式介绍
- vtp协议服务器配置,思科模拟器配置交换机VTP的详细教程