CityEngine CGA語法之包絡函數 envelope

概要

envelope(direction, maxHeight, frontBaseHeight, frontAngle)
envelope(direction, maxHeight, frontBaseHeight, frontAngle, backBaseHeight, backAngle)
envelope(direction, maxHeight, frontBaseHeight, frontAngle, backBaseHeight, backAngle, sideBaseHeight, sideAngle)
envelope(direction, maxHeight, frontBaseHeight, frontAngle, backBaseHeight, backAngle, rightBaseHeight, rightAngle, leftBaseHeight, leftAngle)


參數

  • direction (selstring):包絡產生的方向
  • 有兩個取值:normal和world.up,normal表示按scope的Y軸方向生成包絡,world.up表示按世界座標的Y方向生成包絡

maxHeight (float):包絡的最大高度(米),如果超過了這個高度,超出的幾何體部分會被切除,包絡頂面封閉爲水平

frontBaseHeight (float):前部包絡面生成的基準高度值(米)

frontAngle (float):前部包絡面生成的傾斜角度(度)

backBaseHeight (float):後部包絡面生成的基準高度值(米)

backAngle (float):後部包絡面生成的傾斜角度(度)

sideBaseHeight (float):兩側包絡面生成的基準高度值(米)

sideAngle (float):兩側包絡面生成的傾斜角度(度)

rightBaseHeight (float):右側包絡面生成的基準高度值(米)

rightAngle (float):右側包絡面生成的傾斜角度(度)

leftBaseHeight (float):左側包絡面生成的基準高度值(米)

leftAngle (float):左側包絡面生成的傾斜角度(度)


參數示意圖:


注意

無論採用哪個方向(normal或world.up),包絡生成的方向都是朝上

示例

envelope(direction, maxHeight, frontBaseHeight, frontAngle)

設置方向爲normal,maxHeight=30,frontBaseHeight=10,frontAngle=45

Lot -->
	envelope(normal,30,10,45)
	color("#ffff00")



改變方向爲world.up

Lot -->
	envelope(world.up,30,10,45)
	color("#ffff00")


envelope(direction, maxHeight, frontBaseHeight, frontAngle, backBaseHeight, backAngle)

設置方向爲normal,maxHeight=30,frontBaseHeight=10,frontAngle=45,backBaseHeight=10,backAngle=60

Lot -->
	envelope(normal,30,10,45,10,60)
	color("#ffff00")



envelope(direction, maxHeight, frontBaseHeight, frontAngle, backBaseHeight, backAngle, sideBaseHeight, sideAngle)

設置方向爲normal,maxHeight=30,frontBaseHeight=10,frontAngle=45,backBaseHeight=10,backAngle=60,sideBaseHeight=15,sideAngle=65



envelope(direction, maxHeight, frontBaseHeight, frontAngle, backBaseHeight, backAngle, rightBaseHeight, rightAngle, leftBaseHeight, leftAngle)

設置方向爲normal,maxHeight=30,frontBaseHeight=10,frontAngle=45,backBaseHeight=10,backAngle=60,rightBaseHeight=15,rightAngle=65,leftBaseHeight=25,leftAngle=25

Lot -->
	envelope(normal,30,10,45,10,60,15,65,25,25)
	color("#ffff00")


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章