カメラアングルの設定OpenSCAD~素材ループ | ..あちゃ! no mic's

..あちゃ! no mic's

クラウドファンディング予定~2026年度
何度でもチャレンジ!
ただいまソーラーピックアップのテスト中

SANTA no Mix



ブログにお越し頂き、ありがとうございます。
 
SolidPythonでOpenSCADを使ったアニメーション、
 
前回、WckeeをSCADで、制作して、SolidPythonで、動画を作成をしました、
そのときは、カメラアングルが、コマ毎に、ずれてしまい、動画素材としては、不十分でした、

 

 

 

で、問題の、
OpenSCADのカメラアングルの設定が、出来ました、
ターミナルから
$ openscad --help
で表示される以上の情報が、オリジナルのサイト以外に、ない感じ、
 
OpenSCADのコマンドライン、
バージョンによって、記述が違うので、注意、デス、
 
SolidPythonで、
PNGファイルの、書き出し、
 
import subprocess
from solid import *
from solid.utils import *

scadfile = import_scad("#wckee_10_lr.scad")

def rotate_wckee(dt):
    w = scadfile.wckee_l ()
    w_r = rotate([0,0,dt])(w)
    return w_r

scad_render_to_file(rotate_wckee(45), "output.scad", include_orig_code=False)
subprocess.run (["openscad -o test.png --camera=100,100,100,0,0,0 --imgsize=640,400 output.scad"], shell = True)
 
 
マニュアルには、こう書いてあります。
引数のargが6個か7個かで、translateかeyeかを判別しているようです、
 
OpenSCADのGUIウィンドウの左下に、Viewportの座標が書いてあります、
 
これをコードに書き取り、変数に書き入れると、OpenSCADのウィンドウでのプレビューは再現できました、$tはアニメーションのとき、便利です、この場合、z回転、
 
コマンドラインで実行の場合、
7変数、書き入れると
openscad -o test.png --camera=2.12,-14.17,64.74,56,0,0.6 --imgsize=640,400 output.scad
となります、
 
ここが、分かりやすく、

 

 

 

イメージサイズも、決められます、
カメラ視点(eye)と、フォーカス?の場所(center)で、カメラアングルを変えながら、次、
 
 
 参考に、

 

 

 カメラに限っては、ココ、

 

 追記(カメラの位置は固定できましたが、位置を変えることができません)

以外の特殊変数で対処、

$vpt=[100,-50,100]; ビューポートの変換

$vpr=[60,0,0]; ビューポートの回転角度

$vpd=100; ビューポートカメラの距離

 

http://openscad.org/cheatsheet/ 

 

 

 

 

いくぶん、簡素になった、

回転するwckeeを同じカメラアングルで、1.png~10.pngまで、書き出し、

1コマ15°で、10コマ、150°まで、一回転してないので、回ってる感は、目の錯覚、

注意、シェルコマンドの、カメラ設定が、間違っています、

--camera=100,100,100,0,0,0

だと、反映されると思います、

 

 

 Gimpで、GIF画像にしました、

 

 

拡大すると(偶然ですが)、ギザギザが、木目調に、写って、います、

 

本日の素材ループ、修正、次回、以降、