Thursday, July 31, 2014

Blender Python Console にてオブジェクトに頂点・辺追・面を追加

2014/7/30 開催の Okinawa.rb に参加。

本来 Ruby の集いであるにも関わらず、この日は構わず Blender 方面へ突入。主に Python Console において Bpy な方面へ。

結果、オブジェクト(以降の説明では Plane)に対し、頂点、辺、面をそれぞれ追加する手法を理解したため、以下のとおりメモ。

準備

まず、本件について準備しつつ Python Console を開くまでの手順。 Blender は、現 2.71 の on OS X な版を使用。

デフォルトの Cube は使用しないため削除。(X キーをタイプ)

%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-07-31+22.52.36.png

オブジェクト(Plane)を配置するため、 3D View の表示形式を Top Persp に切り替え。

%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-07-31+22.54.54.png

3D View にマウスカーソルをのせ、スペースキーをタイプ。 表示されたメニューから Add Plane を選択。 なお、以下な矢印の付け根部分をドラッグすることで画面分割が可能。

%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88_2014-07-31_22_56_01.png

Editor Type のメニューから Python Console を選択。

%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-07-31+22.56.37.png

これで Python Console が開きます。

%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-07-31+22.56.42.png

頂点の追加

Python Console に以下を入力し、 3D View にマウスカーソルを移動させタブキーをタイプして Edit Mode に切り替えると

d = bpy.data.objects['Plane'].data
d.vertices.add(1)
d.vertices[4].co.x = 3

以下のアカマルな位置に頂点が追加されている。

%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88_2014-07-31_21_56_57.png

ちなみに、 bpy.data.objects['Plane'].data の戻りは bpy.data.meshes['Plane'] であり Blender 2.71.0 5c2d7f7 - API documentation では bpy.types.Mesh に示される。 vertices については bpy.types.MeshVertex

辺の追加

3D View にマウスカーソルを移動させ、タブキーをタイプして Object Mode に切り替えた後、 Python Console にて以下な入力。

d.edges.add(2)
d.edges[4].vertices = [3, 4]
d.edges[5].vertices = [1, 4]

Edit Mode に切り替えると辺が 2 つ追加されている。なお、頂点のインデックスについては、どうやら図中番号のように Blender では管理される模様。

%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88_2014-07-31_22_27_56.png

面の追加

Object Mode に切り替え、 Python Console にて以下な入力。

d.loops.add(3)
d.loops[4].vertex_index = 1
d.loops[5].vertex_index = 4
d.loops[6].vertex_index = 3

d.polygons.add(1)
d.polygons[1].loop_start = 4
d.polygons[1].loop_total = 3

d.loops のデフォルトを確認すると vertex_index にそれぞれ 0, 1, 3, 2 が設定されている。これに追加し 0, 1, 3, 2, 1, 4, 3 とする。 また d.polygons にひとつ追加し、 d.loops の要素中、 4 番目から 3 つ目までを追加面として設定している。

Edit Mode に切り替た後、確認すると以下なとおり。

%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-07-31+22.48.37.png

これらの手法で、プログラム的モデリングについていろいろ妄想中。

あと、 いい加減、そろそろ Unity 方面をおさえないとな件。

Sunday, July 27, 2014

座間味遠征 2014

2014/7/26 一路座間味へ。

スローガンは酒・海・肉・星。

座間味遠征は毎年実施しておりますが、昨年は台風によって行けず、今年ようやく実現したのでした。

今回は @mgwsuzuki 殿、 @tompng 殿、 @k_nishijima 殿と奥様、あとはジャック殿、サラ殿と自分を含めた、総勢5名と2匹による遠征。

到着(座間味港)の図。

DSC_1541.JPG

毎年恒例、七号棟の図。

DSC_1546.JPG

阿真ビーチの図。

DSC_1549.JPG

阿真ビーチのドロップオフの図。

P7260080.JPG

@k_nishijima 殿の図。

P7260074.JPG

@mgwsuzuki 殿ダイブの図。

P7260076.JPG

@tompng 殿ダイブの図。

P7260075.JPG

日没の図。

DSC_1564.JPG

チシ展望台エントリしようとするも、風向きにより断念の図。

DSC_1569.JPG

古座間味ビーチの図。

DSC_1572.JPG

古座間味ビーチ海中の図。

P7270103.JPG

古座間味ビーチは浜辺にビーチパラソルが設置されているものの、実際は輻射熱でかなり無理。これに対し、ビーチから少し陸にあがることで改善することを確認。後述のサンシェードが役に立つ模様。ちなみにビーチパラソルひとつ¥1,000。

DSC_1571.JPG

以降は、次回へ向けたメモを徒然なるままにメモ。

  • バディのフルネームと年齢をおさえておくべし
    • フェリーざまみ乗船手続きと、阿真コテージチェックイン時向け
    • フェリーざまみ乗船手続き時、用紙に記載する電話番号は代表者のみで良い模様
    • 空席状況確認は 座間味村公式webサイト
  • 阿真コテージ殿からのレンタル物は以下
  • ビールが足りない件
    • アルコール組4名に対し、ロング缶箱×2で足りず、ショート缶箱×2を加えて丁度良い
  • ユニソン殿から購入した食材が最高の件
    • あの旨さは秘伝のタレにあり
    • 味付け十分のためタレ系不要だけど、塩コショウ的調味料は用意すべし
    • 油はいずれにも添付しておらず、用意すべし(なくても以外とどうにかなった)
    • 以下なパンフは変わるおそれありのため、毎年ユニソン殿から調達しなおすべし
    DSC_1495.JPG
  • サンシェードテントなるものを用意推奨

ちなみに、座間味航路の途中にある阿嘉港の絵柄が変化していたため BEFORE/AFTER を以下に。

DSC_0281.jpg
DSC_1539.JPG

個人的には前の絵柄のが好み。

各位お疲れ様でした。

Friday, July 11, 2014

ハッカーズチャンプルー2014 前夜祭

仕事は早めにお開きにして、 ハッカーズチャンプルー2014 前夜祭 に参加へ。

なにやら司会役を仰せつかっていた模様。それにつけても、だいぶ早く着いたのでひとり作戦会議へ。

並びはデフォルトで以下な模様。 この並びなら @shumach217 殿が先頭のため、当方が先に司会するとして。 @enkw_ 殿までで一旦切って、小休止を挟むがよさげ。残りは @shumach217 殿にバトンタッチする作戦で。

  • @shumach217 殿
  • @urabusa 殿
  • @nanophate 殿
  • @Yutaka_Kinjyo 殿
  • @cota2n 殿
  • @enkw_ 殿
  • ★ここで休憩か。あとは @shumach217 殿にお任せしたいところ。
  • @asumaslv 殿
  • @cloneko 殿
  • @murabito_cx 殿
  • @michinori 殿
  • @masamasa_massa 殿

ええと。実際は @shumach217 殿が、最初に発表しつつそのまま司会の流れに。

会のご様子。

DSC_1486.JPG

あとは司会とかしつつメモ。

  • @shumach217 iOSデバイスの実機テストの自動化 - Swift -
    • RubyとSwiftのコラボで、カオスが香ばしい。スライドの字が小さくて、遠方からだと見難かったのか。
  • @urabusa セキュリティ・キャンプ2014に応募(落選)した話
    • LTははじめてにつき、マサカリなげないでとのこと。 セキュリティキャンプはセキキャンと略すと。 なにやら、「ておくれの称号」なるものがあるらしい(笑)
  • @nanophate トランスコーダーが教えてくれたこと・・・
    • 台風ソンでもくもくしてたとのこと。 西島殿のイベントはいつもゆるゆるに期待しつつ、今回あんま準備してなかったとのこと。 ムービーがかなり格好良しでした。
  • @Yutaka_Kinjyo 会社に GitHub 導入した話
    • 通称 GitHub おじさん。発表が超早でこなれておりました。まさにライトニングトーク!
  • @cota2n zabbix様がみてる
    • 運用監視な話。 ラズパイとarduinoでセンサを構成し、zabbixで監視な模様。 温度センサは秋月100円。 ラズパイあまってたらいただきたいとのこと(笑)
  • @enkw_ ownCloud on AWS
    • ownCloud のアーキテクチャが ownCloud 死んだら終わりで(笑) デモがうまくいってなかったのが少し心残り。 難しいです、LTでのデモ。
  • @asumaslv Fluentd+Elasticsearch+Kibanaの普通の話
    • マサカリ歓迎。 伊藤殿のサインは既にいただいた模様。 ログはみんなみたくない。 Fluentd なログをキバナでログ解析。
  • @cloneko AWSでサーバー構築「クラス」の学習環境を作ってみた
    • 読み方はクローン・コではなく、クロネコの模様。 某チューニンガソンなるイベントにて全国7位。 「EC2インスタンの作ったり壊したり」を授業コンテンツとして学生殿らに提供している話。 採点をserverspecで実施との話がツボでした。 AWS利用代金は、現状自腹とな(泣)
  • @murabito_cx 攻める情シス
    • チューニンガソンのイベントで1位。 情シス=社内の雑多なことやる、な話。 情シスはツール地獄。 防戦一方のため、攻める情シスなるものを目指している模様。 立体機動装置ばりの精神力が必要とのこと。 まずExcel脱却。kintouneを導入の話。 kintoune 開発ライセンスでの検索をお試しあれとのこと。
  • @michinori ローカルブログサイトの過去と未来
    • 趣味はパズドラ(笑) てぃーだブログ、会員数10万! および広告展開と、データセンターの話。
  • @masamasa_massa GameJam というイベントを通して
    • IGDEという団体の話。 国際NPO法人のゲーム開発の集団な模様。 ゲーム作りをきっかけに、学生に羽ばたいてほしいとの思いで立ち上げ。 GameJam 8/2,3(Sat,Sun) 琉球大学 工1-321(参加無料)な模様。

司会ここまで。 @asumaslv 殿と、気になる Kibana 談義。 Fluentd+Elasticsearch+Kibana は、やはり、人の動向のようなものを捕まえるといった趣向が楽しい様。 当方らも導入してみたものの、少量のエラーログ解析程度には効果薄。

しかし、司会する前に発表する流れに順守したく、当方も急遽その場で作成したネタをねじ込むも、 酔いすぎてグダグダとなり申し訳ない。 司会の方もグダり気味で。(泣) とはいえ、無事でないものの一応こなせた模様。

関係各位、お疲れ様でした。

ちなみに、明日の本編はお仕事で参加できないのが確定。(泣)