2021/09/07(火) [n年前の日記]
#1 [povray] CityGenの生成povを眺めてる
CityGen 1.5 からエクスポートした .pov を眺めてる。CityGen は、POV-Ray用の都市景観データを生成できるソフト。
出力サイズ?を小さくしてエクスポートしてみて、その結果を眺めているのだけど。
_povcity02.pov
結構色々な形のビルが生成されるようだなと。ただ、.pov を眺めた感じでは…。
基本的にはグリッド上に道路かビルを配置していくっぽいくのだけど、道路の生成処理がよく分からない。街の真ん中として扱う範囲を別途指定して、その範囲には碁盤の升目のようにきっちりと道路を配置していくけれど、その範囲外には途切れ途切れの道路が存在するわけで…。どういう処理をして、途切れ途切れの道路にしているんだろう…。
道路が敷かれてない升目にはビルを置く、という処理をしているっぽいけど、升目1つ分に必ずビルが収まるわけでもなくて、2つの升目、あるいは4つの升目にまたがったビルも存在するようだなと。
升目一つ分の道路の形状を確認したところ、box に指定されてる座標値が他の升目とは違ったものの、形状自体は同じものだった。POV-Ray の #macro を使って、rotate で向き変更、translate で位置変更だけすれば、圧倒的に少ない記述で道路部分を表現できそう。当時は #macro が無かったのだろうか…。いや、#declare を使っても記述量を少なくできそうな気も…。まあ、自動生成されるデータだから、記述量を気にする必要は無かったのかな…。あるいは、当時はデータをべた書きしたほうがレンダリング時間が短くて済んだ可能性も…?
出力サイズ?を小さくしてエクスポートしてみて、その結果を眺めているのだけど。
_povcity02.pov
結構色々な形のビルが生成されるようだなと。ただ、.pov を眺めた感じでは…。
- 上から見て十字に見えるビルは、2つのboxを重ねている。
- L型に見えるビルは、2つのboxを重ねている。
- 円のように見えるビルは、3つのboxを重ねている。
基本的にはグリッド上に道路かビルを配置していくっぽいくのだけど、道路の生成処理がよく分からない。街の真ん中として扱う範囲を別途指定して、その範囲には碁盤の升目のようにきっちりと道路を配置していくけれど、その範囲外には途切れ途切れの道路が存在するわけで…。どういう処理をして、途切れ途切れの道路にしているんだろう…。
道路が敷かれてない升目にはビルを置く、という処理をしているっぽいけど、升目1つ分に必ずビルが収まるわけでもなくて、2つの升目、あるいは4つの升目にまたがったビルも存在するようだなと。
升目一つ分の道路の形状を確認したところ、box に指定されてる座標値が他の升目とは違ったものの、形状自体は同じものだった。POV-Ray の #macro を使って、rotate で向き変更、translate で位置変更だけすれば、圧倒的に少ない記述で道路部分を表現できそう。当時は #macro が無かったのだろうか…。いや、#declare を使っても記述量を少なくできそうな気も…。まあ、自動生成されるデータだから、記述量を気にする必要は無かったのかな…。あるいは、当時はデータをべた書きしたほうがレンダリング時間が短くて済んだ可能性も…?
[ ツッコむ ]
以上、1 日分です。