Blender Python BMesh 〜点の座標について学ぶ〜
前回、スクリプトで点を作成し、線を作りました。※イマイチな感じでしたが。。。
今回は、復習がてらに線を作成してから始めます。
一回作成したものは、元のソースから持って来れば良いので
速攻でできます。
>> ob = bpy.context.object
>>> bm = bmesh.from_edit_mesh(ob.data)
>>> bm.verts
<BMVertSeq object at 0x114fb5900>
>>> v1 = bm.verts.new( (0,0,0) )
>>> v2 = bm.verts.new( (1,1,0) )
>>> v3 = bm.verts.new( (-1,-1,0) )
>> bm.edges.new( (v1, v2) )
<BMEdge(0x115000150), index=-1, verts=(0x10bba2af0/-1, 0x10bba2b28/-1)>
>>> bm.edges.new( (v2, v3) )
<BMEdge(0x1150001a0), index=-1, verts=(0x10bba2b28/-1, 0x10bba2b60/-1)>
>>> bm.edges.new( (v3, v1) )
<実行結果>
左のものは、作成した点が平面状にあり、隠れていたので動かしました。
右のものは、移動した、板の上に点を作成したものです。
くどいようですが、座標が確認できるように下記のスクリプトを実行しました。
import bpy, bmesh
ob = bpy.context.object
bpy.ops.object.mode_set(mode='EDIT')
bm = bmesh.from_edit_mesh(ob.data)
v1 = bm.verts.new( (0,0,0) )
v2 = bm.verts.new( (1,0,0) )
v3 = bm.verts.new( (0,1,0) )
bm.edges.new( (v1, v2) )
bm.edges.new( (v2, v3) )
bm.edges.new*1
次に板を180度回転させて、以下のようにして同じスクリプトを実行します。
ちょっとわかりづらいのですが、回転後も同じ場所に点が作成されました。
作成する点を以下のように変更し再度スクリプトを実行します。
v1 = bm.verts.new*2
v2 = bm.verts.new*3
v3 = bm.verts.new*4
どうやらBMeshで点を作成するときは、オブジェクト(Plane)の座標に依存するようです。
つまり、元々の位置の中心=(0,0,0)で回転させてもオブジェクト上の座標は変わらないということがわかりました。
なるほど!!
Eclipse セットアップ
- Java Install Eclipse〜開発ツールのインストール〜
- TensorFlow C++環境〜EclipseにCDTをインストール〜
- Setup OpenGL with Java〜JOGLを使う準備 for Eclipse〜
- Eclipse Meven 開発手順〜プロジェクトの作成〜
- Java OpenCV 環境セットアップ(on Mac)
- Java Basic
- Java Basic Level 1 〜Hello Java〜
- Java Basic Level2 〜Arithmetic Calculate〜
- Java Basic Level3 〜About String class〜
- Java Basic Level 4〜Boolean〜
- Java Basic Level 5〜If Statement〜
- Java Basic Summary from Level1 to 5
- Java Basic Level 6 〜Traning of If statement〜
- Java Basic Level8 〜How to use for statement〜
- Java Basic Level 8.5 〜Array〜
- Java Basic Level 9〜Training of for statement〜
- Java Basic Level 10 〜While statement 〜
- Java Basic Swing〜オブジェクト指向〜
- Java Basic Swing Level 2〜オブジェクト指向2〜
- サンプル実装〜コンソールゲーム〜
- Java Basic インターフェース・抽象クラスの作り方
- Java Basic クラスとは〜Step2_1〜
- Java Basic JUnit 〜テストスイートの作り方〜