前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >cityEngine学习笔记(三)

cityEngine学习笔记(三)

作者头像
数据处理与分析
发布2019-07-31 17:01:14
7260
发布2019-07-31 17:01:14
举报

规则语法篇

标准规则

形式

PredecessorShape --> Successor

示例

代码语言:javascript
复制
#所有的规则,都有一个开始的地方

#规则可以随意命名,不过看到的一般都是Lot

Lot-->

    #拉伸函数

    extrude(10)

    #将拉起来的数据存储在下面这个变量中

    CompModel

带参规则

形式

PredecessorShape(Parameters) --> Successor

示例

代码语言:javascript
复制
Lot-->
    #color函数,给面赋一个颜色
    color(1,0,0)
    #赋过颜色之后,村给Footprint这个变量,
    #这个变量是带参数的,这里的参数是20
    Footprint(20)

Footprint(height)-->
    #向上面拉伸一个高度,用的是上面的参数
    extrude(height)
    #下面这个变量,后面的.应该
    #代表的是到此结束的意思。加上了点
    #后面就不能再引用了
    Envelope.

另外,我试了,上面的代码,最后一行啥也不写貌似也没啥影响。

随机规则

形式

PredecessorShape --> percentage%:Successor1 percentage%:Successor2 …… else:SuccessorN

注意事项:总的百分比,不能超过100%

示例

代码语言:javascript
复制
Lot-->
    #这后面的,跟上一个例子基本一样
    #不同的地方,就是前面的比例
    #经测试,这是随机的比例,挺好
    20%:color(1,0,0) Footprint(20)
    20%:color(0,1,0) Footprint(30)
    else:color(0,0,1) Footprint(50)

Footprint(height)-->
    #这部分和前面的例子也是一样的,不多说了
    extrude(height)
    Envelope.

条件规则

形式

PredecessorShape --> case condition1:Successor1 case condition2:Successor2 …… else:SuccessorN

示例

代码语言:javascript
复制
Lot-->
    #根据条件进行判断,符合对应的规则,就应用对应的处理
    case geometry.area<1500:color(1,0,0) Footprint(20)
    case geometry.area>2000:color(0,1,0) Footprint(40)
    else:color(0,0,1) Footprint(60)
Footprint(height)-->
    #这部分和前面的例子也是一样的,不多说了
    extrude(height)
    Envelope.

递归规则

形式

PredecessorShape --> case condition1:Operation PredecessorShape case condition2:Successor2 …… else:SuccessorN

示例

代码语言:javascript
复制
Lot-->
    extrude(10)
    color(rand(),rand(),rand())
    comp(f){side:SideFacade | top:Recursive}

Recursive-->
    #开始递归,当面积小于5的时候
    #就每次往里面缩一点,并
    case geometry.area>5:
        X.
        s('0.8,'0.8,'1)
        extrude(4)
        color(rand(),rand(),rand())
        center(xz)
        comp(f){side:SideFacade | top:Recursive}
    else:
        X.

小结

cityEngine学习了几次,逐渐摸到门道了,也可以做出点模型了。继续加油!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-07-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据处理与分析 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 规则语法篇
    • 标准规则
      • 形式
      • 示例
    • 带参规则
      • 形式
      • 示例
    • 随机规则
      • 形式
      • 示例
    • 条件规则
      • 形式
      • 示例
    • 递归规则
      • 形式
      • 示例
  • 小结
相关产品与服务
数据保险箱
数据保险箱(Cloud Data Coffer Service,CDCS)为您提供更高安全系数的企业核心数据存储服务。您可以通过自定义过期天数的方法删除数据,避免误删带来的损害,还可以将数据跨地域存储,防止一些不可抗因素导致的数据丢失。数据保险箱支持通过控制台、API 等多样化方式快速简单接入,实现海量数据的存储管理。您可以使用数据保险箱对文件数据进行上传、下载,最终实现数据的安全存储和提取。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档