で、ngPlantは、木をポリゴンで作成するツールだ。
初期状態の画面はこうなっている。左側がビューで、円筒がこれから作成する木のべーすとなる。
この画面での右側の上の方は使わない。
重要なのは、右下の、図の赤枠で囲った部分。ここから、どの幹や枝を編集対象にするかを選択する。
まず、最初は[Plant]が選択されているので、[Branch-1]をクリックし選択する。選択された枝は太文字になる。
枝が選択されると、右上の画面がその枝の編集画面に変わる。ここからその枝の調整をしていく。
ちなみに以下、サムネイル画像を貼り付けたところ本来の画像から上下が切れてしまった。クリックするとフルで見られる。意外と上下を見ないと理解できない画像があったりする。遠い未来に直すかもしれない。
次に、枝を追加してみる。
[Branch-1]を右クリックし、[Append branch]→[New branch]を選択。
くしのように新しい枝が生える。右下に表示されている新しい枝[Branch-1-1]が選択(強調表示)されていることを確認して、右上をもう一度見てみる。
大体は同じで、違いは、主幹一本の時と違い、枝がたくさんあるときは各パラメータが影響を与えるのはその階層の枝全てだと言うこと。例えば、Axis Variationの数字をあげると、横に伸びている枝全てが複雑に折れ曲がる。
Axis Variationは0にしておくとして、この状態で、先ほど飛ばしたVariationとOffset influenceについてみてみる。
② | Variation 枝が複数あるとき、長さにばらつきを与える |
|
③ | Offset influence 枝が複数あるとき、長さを 曲線的に変化させる |
俺がstd::removeを理解できないのはどう考えても仕様が悪い。
というわけで、std::removeの挙動の再確認。
std::removeは、第一引数から第二引数までのコンテナ内の、第三引数で指定された値を削除する(嘘)、STLの関数だ。
今回使うのは以下。removeのためにalgorithm。iteratorはstd::beginを気分で使う。
#include <vector> #include <iostream> #include <algorithm> #include <iterator>
まず配列を用意して初期化する。
std::vector<int> vec = { 1, 2, 3, 2 , 4, 2 , 5 }; for (auto i = std::begin(vec); i != std::end(vec); i++){ std::cout << *i << std::endl; }
結果は、
1
2
3
2
4
2
5
次に、この配列の値2に対してstd::removeをかける
auto end = std::remove(std::begin(vec), std::end(vec), 2); for (auto i = std::begin(vec); i != std::end(vec); i++){ std::cout << *i << std::endl; }
結果は、
1
3
4
5
4
2
5
さあ、もう訳がわからない。消えたはずの2は残っていてその割に個数は減っていてその上位置まで変わっていて、さらにいじったつもりのない4と5が増えている。
Erase-Removeエディオムというのがあり、eraseと併用すれば消える。
vec.erase( std::remove( std::begin(vec), std::end(vec), 2 ), std::end(vec) ); for (auto i = std::begin(vec); i != std::end(vec); i++){ std::cout << *i << std::endl; }
これはつまりこういうことだ。
std::removeは、指定した削除対象の値以外のものを配列の左側に再配置する。
そして戻り値として、必要なデータが入っている領域の次の値へのイテレータを返す。
std::removeが行うのはコンテナの中の値の書き換えだけなので、高速だが、そのままではいわば「破棄推奨領域」が生じてしまう。
(※) end2 = std::remove(begin,end,value);というようにして、以後の処理を begin~end2の範囲に対して行うようにすれば、消えたものとして処理できる。
この破棄推奨領域を削除する行為は、確保されているメモリ領域の変更なので、std::eraseを用いる必要がある。
今年の冬はかなり暖かかったようで、部屋の中が氷点下になることはなかったように思う。
その甲斐あってか、まだ3月だというのに部屋に入れておいた桜がほんのりと咲き始めた。買って三年ぐらいだろうか。まだ選定をしたことがない。今年あたりやってみようと思う。
・「おれ」の一人称。
・~た。
・超能力系のSF
・ページ数:250
・筒井康隆
一度文明が滅んだ世界で、主人公ラゴスの旅の最中に起こった様々な事件が、一話完結で12ほど納められている。
一話完結とはいえ前後のつながりはちゃんとあるので順番に読むべき。
きわめて哲学要素が強い作品。超能力もたいしたものはなく、人や他の生物と共感するとか、壁抜け(ただしすごく時間がかかる)とか、そんな類で、あくまでも世界観としての立ち位置に忠実。戦闘ものではないため戦いのシーンはほぼ出てこない。そういう意味ではアクション性はない。ただし馬で盗賊から逃げたりはする。
笑い所はないが作品としてはとても「きれい」な類で、落ち着いて読める。
-------------------------------------------------------------------------
遅い夕食は夫人と令嬢の吟味によるまさに貴族の晩餐と呼ぶにふさわしいもので、それはただのホテルの宿泊客に出す料理のようではなく、その上その食事はたったひとりの客であるおれと、主人のドリド氏との会食であり、夫人と令嬢の給仕によるものであった。夫人と令嬢はこの上なく高貴であり、令嬢の愛らしさは例えようがなかった。おれは夢見心地で食べ続けた。
-------------------------------------------------------------------------
「ラゴスさん、あんた石火箭が扱えるかね」
おれはそのことばで一も二もなくとび起きた。「襲撃だな。盗賊団か」
身支度するおれにシャクロは揉み手を続けながら説明した。「奴隷狩りだよ。この町の南西二百キロのところに銀山があって採掘業者が銀鉱を開いているのだが、鉱夫を傭わずに奴隷を使っている。その奴隷の数が少なくなると近くの村へ出かけて奴隷狩りをやるのだが、まさかこんな大きな町を襲うとは思わなかった。奴隷の数がよほど不足しているんだろう」
「連中、どれぐらいいるんだ」
「朝がた、見張りの傭兵が城壁の上から見たところでは、約八十人が町を取り囲んでいるそうだ」
「こっちの傭兵の数は」
「二十人とちょっと、それに警備隊員が予備役も入れて二十五人前後」
「そいつはえらいことだな」
------------------------------------------------------------