CityEngine创建不同类型的屋顶(二)
来源:互联网 发布:hadoop2.7.1 windows 编辑:程序博客网 时间:2024/05/01 15:58
3.复杂坡顶
半四坡顶(half hip)
attr roofAngleGable=25 #屋顶下部坡度
attr roofAngleHip=25#顶部坡度
Lot-->
extrude(20)
comp(f){top:color("#0000ff")TopFacade |side:color("#ff0000")SideFacade. |all:NIL}
TopFacade-->
roofGable(roofAngleGable)
split(y){ '0.5: comp(f){bottom: NIL | horizontal:RoofHip |aslant:FlatRoof_Tex. | all:color("#00ff00")RoofSide. }}
RoofHip-->
roofHip(roofAngleHip)
FlatRoof_Tex.
歇山顶
attr roofAngleHip=30#屋顶下部坡度
attr roofAngleGable=30 #屋顶上部坡度
attr overHang=0.4#延伸出来的长度
Lot-->
extrude(20)
comp(f){top:color("#0000ff")TopFacade |side:color("#ff0000")SideFacade. | all:NIL}
TopFacade-->
roofHip(roofAngleHip,overHang)
split(y){ '0.5: comp(f){bottom: NIL | horizontal:RoofGable|all:FlatRoof_Tex. } }
RoofGable-->
roofGable(roofAngleGable)
comp(f){bottom:NIL | aslant:FlatRoof_Tex. | side:color("#00ff00")RoofSide.}
复斜屋顶
attr roofAngleGable=40 #屋顶下部坡度
attr roofAngleGable02=25#顶部坡度
Lot-->
extrude(20)
comp(f){top:color("#0000ff")TopFacade |side:color("#ff0000")SideFacade. |all:NIL}
TopFacade-->
roofGable(roofAngleGable)
split(y){ '0.5: comp(f){bottom: NIL | horizontal:RoofGable |aslant:FlatRoof_Tex. | all:color("#00ff00")RoofSide. }}
RoofGable-->
roofGable(roofAngleGable02)
comp(f){bottom:NIL |aslant:FlatRoof_Tex. | all:color("#00ff00")RoofSide. }双重斜坡屋顶
attrroofAngleHip=40 #屋顶下部坡度
attrroofAngleHip02=25 #顶部坡度
Lot-->
extrude(20)
comp(f){top:color("#0000ff")TopFacade | side:color("#ff0000")SideFacade. | all:NIL}
TopFacade-->
roofHip(roofAngleHip)
split(y){ scope.sy*0.3:comp(f){ bottom:NIL |horizontal: RoofHip | all:FlatRoof_Tex. } }
RoofHip-->
roofHip(roofAngleHip02)
FlatRoof_Tex.拱顶
attr curvedAngleResolution=15#相邻顶面的坡度差
@Hidden
attr ArcNum01=90/curvedAngleResolution-1
@Hidden
attr calcSegmentHt(ArcNum)= 3* (cos(ArcNum*curvedAngleResolution) - cos((ArcNum+1)*curvedAngleResolution))
Lot-->
extrude(20)
comp(f){top:color("#0000ff")VaultRoof(ArcNum01) |side:color("#ff0000")SideFacade. |all:NIL}
VaultRoof(n)-->
case n> 0:
roofGable(n*curvedAngleResolution,0,0,false,0)
split(y){ (calcSegmentHt(n)):comp(f){bottom:NIL | horizontal: VaultRoof(n-1) | aslant:FlatRoof_Tex. |all:color("#00ff00")RoofSide.}}
else:
comp(f){bottom: NIL | all:FlatRoof_Tex. }圆屋顶
attr curvedAngleResolution=15#相邻顶面的坡度差
@Hidden
attr ArcNum01=90/curvedAngleResolution-1
@Hidden
attr calcSegmentHt(ArcNum)= 3* (cos(ArcNum*curvedAngleResolution) - cos((ArcNum+1)*curvedAngleResolution))
Lot-->
extrude(20)
comp(f){top:color("#0000ff")DomeRoof(ArcNum01) |side:color("#ff0000")SideFacade. |all:NIL}
DomeRoof(n)-->
case n> 0:
roofHip(n*curvedAngleResolution)
split(y){ (calcSegmentHt(n)):comp(f){ bottom:NIL |horizontal:DomeRoof(n-1) |all:FlatRoof_Tex.} }
else:
comp(f){bottom: NIL | all:FlatRoof_Tex.}- CityEngine创建不同类型的屋顶(二)
- CityEngine创建不同类型的屋顶(一)
- CityEngine基于规则贴图的实现技巧(二)
- CityEngine从影像提取屋顶纹理并贴图
- CityEngine CGA语法之双坡式屋顶函数 roofGable
- CityEngine CGA语法之四坡式屋顶函数 roofHip
- CityEngine CGA语法之单坡式屋顶函数 roofShed
- CityEngine CGA语法之金字塔式屋顶函数 roofPyramid
- 创建不同类型的用户参数
- 屋顶打字通(二)--DrawString和MeasureString
- RecyclerView基本使用(二)-- 返回不同类型的View
- soapui接口性能测试(二)---- 模拟不同类型的负载
- 屋顶上的绿宝石
- 屋顶上的蔬菜
- 自由堆叠的屋顶
- 屋顶
- 不同类型的分区表的创建以及实际操作
- 不同类型的分区表的创建以及实际操作
- B树和B树的实现 B-Tree
- VC读取文件(exe、.doc、.chm等)
- PowerDesigner物理模型用法总结
- 把DEDE的在线文本编辑器换成Kindeditor不显示问题
- android图片涂鸦(标记)
- CityEngine创建不同类型的屋顶(二)
- 竞赛积分猜想
- 第二周hdu1282
- 简单查看和修改数据库的只读/读写属性
- XP安装VMware-viclient提示:microsoft virtual j# 2.0 second edition 安装程序返回错误代码“4121”
- Cocos2d-x学习之实现类似android的菜单栏tabbar效果
- 排序算法之归并排序
- php与oracle连接函数详解oci_connect
- 解决Collection <__NSArrayM: 0xb550c30> was mutated while being enumerated.-