全25件 (25件中 1-25件目)
1
以前、イワシをバラバラの方向に向けることが出来たと書いたでも、これをアニメーションに拡張しようとすると、あるベクトルの方向に向けるという作業が上手く出来ていないことが判明した結局 rotation_euler だろうが rotation_quaternion だろうが理解不足が原因だということで、python コードをこねくり回すのは止めて quaternion を理解することに全精力を傾けることにした写真は、ベクトルをクォータニオンに変換した後、w,x,y,z の w の値を0にした場合の結果だちゃんと、全部背びれを上にしてくれているこれも踏まえて、勉強してみよう
2022.09.29
コメント(0)
今年は植物の当たりはずれが大きい金木犀がようやく咲き始めた花付きは例年並みというところか近年は、連休あたりで咲き始めることが多いので今年は遅い方かもしれない近所一帯の花が一斉に開き始めるので、甘い香りが周辺に漂う金木犀は宿根草や球根と違って手を掛けることはない放置すると枝が伸びて邪魔なので適当に切り落としている程度だ病気とか害虫にやられることは殆ど無い一般家庭用の庭木としては楽ちんだたまに、この香りが嫌いな人がいるので要注意だけど・・・
2022.09.28
コメント(0)
昨日の続きから始めたグローバル座標で回そうとすると符号が変わる瞬間に逆回転してしまう90度回そうとしたのが無理だったのかと考えて45度の回転を試してみた結果は下の図のとおり逆回転を挟んでしまう思い直してローカル座標でベクトルではなく、角度で指定して試してみたこれは、図のように上手く回ってくれるところが、BOID理論でイワシを動かす場合は速度はベクトルで得られるので、どうしてもベクトルを角度に変換するルーチンを再作成するしかない多分、良く考えれば上手い方法があるはずだ逆三角関数を使うのは正解だろうと思う動きを2次元平面内のみで試してみるのも悪くない速度と位置の変更のタイミングが悪いのかもしれないblender に持ち込む前に bpy の部分を全部コメントアウトして、角度と位置をプリント文で打ち出してみるのだが、見た目は正しく見えるもう少しじっくり考えてみることにしようローカル座標で45度回転させてみたグローバル座標で角度を与えて回転させてみた
2022.09.27
コメント(0)
動画を作り始めたとたんに、つまずいてしまったどうやら、一尾のイワシの向きを変えることさえ出来ていなかったようだ初めからランダムな方向へ向けようと思ったのが大間違い次に、グローバルとローカルの座標と回転角の考え方をごっちゃにしていたbpy.ops.transform.rotate(value= rX, orient_axis='Z')とやった場合は現在の角度からZ軸周りに rX ほど回転させるということだグローバルな角度(で回すのではなく)に設定する場合はtarget.rotation_euler = ( rZ, 0, rX)これで良さそうだまだ、完全に検証した訳では無いので間違っているかもしれないただ、角度が180度を超えた時(すなわち、符号が逆になった時)に、なんとオブジェクトが1回転してしまうのだ要するに近い方に回転せずに大回りをして目的の角度に行こうとしているこの段階で行き詰ったまま随分経過してしまった頭安めに、少し別の事をしてみるかな
2022.09.26
コメント(0)
いよいよ、動画を作り始める向きを変える処理を一定のフレーム間隔で実施し、キーフレームを打つという作業をやってみた処理そのものはできたのだけど、動きが全く思い通りにならないもしかしたら、1尾のイワシにベクトルを与えてその向きを変えることは出来ていないのかもしれない出来た動画を見ると後ろに向かって移動しているフレームもある補間の関係でそう見えているようには思えないもう一度向きと速度の関係を見直すべきか取り合えず、このままで集合・分離・整列をやってみるかどちらが良いかな集合・分離・整列をやるためには群れが必要だ100尾位から始めてみるかな
2022.09.25
コメント(0)
最近マウスの電池の消耗が激しすぎるので充電式マウスを購入した従来のマウスは電池がへたり始めた時が使いづらくでどうしようもない電池代がもったいないとは思わないが、へたり始めたときのストレスが大き過ぎなのだ珍しくネットではなく量販店の店頭展示のものを買った一緒に bluetooth のレシーバーをセットで売っていたので併せて買ってしまったしかし、よく考えてみたら対称のPCには、既にイヤホン用として bluetooth レシーバをセットして使用していたしかも、購入したのは使用中のレシーバーと全く同じものだったレシーバーはマルチチャンネルなので少々のデバイスを接続したところで満杯にはならないまあ、現在使用中のPCは他に2台あるのでこのレシーバーが無駄になることはないだろうBluetooth 同士が混線するなんてことはことは無いだろう?ところで、表題のマウスだがなかなか面白いカバーがキャップのようになっていて、使用中は尻側を差し込んで使用する未使用時は、逆に頭を差し込めばコンパクトな状態になるただ、充電ケーブルが本体に収納できるようになっていれば良かったのだがそれと、手のひらへのフィット感は今一つだと感じたエレコム|ELECOM マウス CAPCLIP PRO(Android/iPadOS/iOS/Mac/Windows11対応) ブラック M-CCP1BBBK [光学式 /無線(ワイヤレス) /4ボタン /Bluetooth]TP-Link ブルートゥース アダプター [USB-A /Bluetooth 5.0] (Windows11対応) UB500
2022.09.24
コメント(0)
1尾のイワシにベクトルを与えてその向きを変えることに成功したただし、ピッチとヨーだけでイワシの向きを変えなければならない結局、1つのオブジェクトを名前で指定して選択するこのオブジェクトに対して1尾だけの方向付けをするこのとき、同時に location も設定するこれで、1000尾のイワシをバラバラの方向に向けることが出来たこの状態を、初期状態として、BOID理論の集合・分散・整列を行うこれはアニメーションを作成した方が良さそうださて、また方法を調べなければならない
2022.09.23
コメント(0)
前回、ランダムに発生させた速度ベクトルを、クォータニオンに変換して回転させたらイワシの方向は正しいけれど、ロールが発生してしまったピッチとヨーだけでイワシの向きを変えなければならないということは、オイラー角で回転させるしか方法がないいきなり 1000 尾のイワシではなく、1尾のイワシでやってみたで、なんとか思い通りの方向を向かせることが出来た無論、イワシは背中を上にしたままである結局、ピッチはベクトルの大きさでZの値を割ったものの arcsin から角度を算出し、ヨーはxy平面上でのy軸への内積から arcsin を使って角度を出すそのとき、y軸の符号によって「θ」と「π-θ」を切り替えなければならない思いつくのは簡単だが、空間内での正負の方向や右手・左手の軸の向き(同じことか)を注意しないと全然違う方向を向いてしまう取り合えず、1尾のイワシは向きを変えてくれたので後は 1000 尾をランダムに動かさなければ・・・頑張ろう
2022.09.22
コメント(0)
以前 matplotlib で群れを作成し、BOID 理論で動かすプログラムを作成したそれを blender でもやってみようと思いついたのだが、matplotlib では矢印を使ったので進行方向を向かせるのは簡単だ速度のベクトルを向きとして matplotlib に渡せば、後はモジュールがその方向の矢印を表示してくれる今回、blender でイワシの群れをランダムな方向へ向けておいて、BOID 理論で分散・集合・整列をさせたいところが、ランダムに発生させた速度ベクトルを、クォータニオンに変換して回転させてみた結果は下のとおり大失敗だ方向は正しいのだが、この方向の周りの回転が残念ながら思った通りにならないイワシはどこを向くときでも背中を上にするはずだが、結果は腹を上に向けている個体も発生するさて、どうしたものか色々と考えているところだいきなり 1000 尾のイワシではなく、1尾のイワシから研究してみる必要がある
2022.09.20
コメント(0)
blender 内蔵のテキストエディタで開発するというのは不便極まりない補完が働かないというのもかなり辛いし、エディタの各行に日本語の注釈が入力できないのは不便だバッチファイルでコンソールで utf-8 を表示するようにはできるのだが…ということで、使い慣れた vscode で開発するのが最善の方法だという結論に達したちなみに、anaconda よりも vscode の方が使い勝手が良いという気がする先ずは、vscode の拡張機能タブで Blender Development を入れるこの settings.json は自分の blender のバージョンと実行 path を設定する次に blender 付属の python を vscode に登録しておくこれで、vscode で動く python が2種類になるので、python スクリプトを編集するときは、どちらのバージョンを使用しているのかを常に意識する必要がある最後に pip install fake-bpy-module-2.93 を実行してフェイクライブラリをインストールするこのとき、気を付けないと python のバージョンが 3.10 のまま pip を実行すると blender 用の 3.7x には bpy が入らないので注意しなければならない自分はこれで、長々と悩んでしまったさて、環境はできたので開発に取り掛かるぞ
2022.09.18
コメント(0)
9月の始めに matplotlib で群れを作成するプログラムを作成した計算そのものは numpy を使用しており、BOID のライブラリは全く使っていないので blender の python にも移植できそうな気がするのだがとにかく、今はたくさんのイワシを任意の場所に出現させて並べることができたmatplotlib の場合でもリアルタイムでのアニメーションは無理だったので、動画を出力したblender ではキーフレームを打っておいて後でアニメーションを出力する方法をとることになるのだろうな本当はイワシが体を揺すって動く演出をしたかったのだが方法がわからない1000匹位の群れを計算するとなると時間もかかりそうなので、200匹程度の群れで様子を見ながらやってみたい最初からあまり密になり過ぎても、集合自体ができないのでは仕方がないちょっと設定の段階で気長に頑張る必要があるかも?
2022.09.17
コメント(0)
インベーダーゲームは、コピペではあるものの一応できたものとするさて、blender に付属している python のスクリプトは10年以上前に勉強を始めているのだが、未だにものになっていない原因は、ごく簡単な(今ならモディファイアの配列で出来るような)ことしかやってないからだたまに、複雑なものを動かす時はネットのもののコピペか、超簡単アレンジだこれではまともの勉強できるわけがない途中でリファレンスが大きく変わったのも挫折した原因だたしかに、今でもネット上のスクリプトに関する記事はバージョンを確認してから取り付かないと、ひどい目に遭うことになるさて、今回は先日 matplotlib を使って作成した魚群(鳥?)を blender で再現してみようという試みを思いついたどうなるか、分からないけど取り合えずランダム配置から始めてみた
2022.09.16
コメント(0)
vscode は新しく入れた powershell 7.2.6 で動いているしかし普通にコマンドとして powershell とすると古いものが起動されてしまうこれで、随分悩んだのだがようやく解決したversion 7 の powershell は powershell.exe ではなく pwsh.exe なのだこれで、path を入れ替えてみても、他の環境変数を削除しても同じ状態だった原因が分かったということで、windowskey + R で起動するときは pwsh と打ち込むことにしたなんということもないあほらしい結末だけど、原因が分からずイライラしているときのストレスは半端ないしかし、そんなことはどこにも書かれていないさて、シェルの便利な使い方でも覚えようかな
2022.09.15
コメント(0)
前回 pygame を使用したインベーダーゲームそのものをこのサイト動かしてみた今回は、このプログラムの改変版を動かしてみた前回のものを改良してより本物に近づけてある爆発時のアニメーションとか得点による細かい設定などを加えたものだ@staticmethod なるものも初めて見たのだが今一つ理解できないアニメーションでは画像を数点追加しなければならないのだが、その内容が不明なのだま、ぶつかった時の爆発アニメだと理解してそれなりのものを作ってみた今までになんどか書いたけれど、python は他人の書いたプログラムが理解しやすいたまたま、そういうプログラムに遭遇しているのかもしれないまた、今回は丸写しではなく、ソースを見ながら手入力してみたやはり、自分で打ち込んでみると随分理解度が違うなしばらくこれで遊んでみるか
2022.09.14
コメント(0)
vscode を使って python のプログラムを作っているときに「新しいクロスプラットフォームの powershell をお試しください」という表示が出ていた別に古いバージョンだからと言って不便はないのでそのままにしておいたのだが、あまりにも煩わしいので新しく powershell 7.2.6 を入れたvscode では設定で新バージョンを使うようになったのだが、普通にコマンドとしてpowershell とすると古いものが起動されてしまう無論、フルパスで指定した時は新しいものが起動するこれは path の関係かなと思い、システムの環境変数の設定を編集してみたシステム関連では古いバージョンへのパスがあちこちに存在するようだこれらを削除したり変更したりしてみたのだが思うようにならないスタートメニューにフルパスの起動アイコンを置いたのでそんなに不便はないが、どうも面白くないマイクロソフトのページになんだか色々書いてあるようだが面倒で詳しく読んではいない旧バージョンを削除しても問題ないのだが、普通に powershell とだけのコマンドの場合に新バージョン、フルパス指定の場合のみ旧バージョンという設定にならないものか
2022.09.13
コメント(0)
自作するとなれば、あの(往年のインベーダーハウスで鳴り響いていた)発射音が必須だろうということは pyxel editor の音声制作の使い方を勉強しなくてはならないあれこれネットを探しているうちに、pyxel ではなく pygame を使用したインベーダーゲームそのものをこのサイトで見つけたとにかく、これをコピペして動かしてみた(残念ながら?)このソースそのものが何の変更も無しに動いてしまったww何はともあれ遊んでみたやはり、懐かしいなでも、これを pyxel に移植して作り直すだけのモチベーションは無いま、これでインベーダー探しは終了かな別の面白そうなものを探してみることにしよう
2022.09.12
コメント(0)
今年の庭の花達は、大当たりかハズレの2極に分かれるタマスダレはどうやら大当たりの年だったようだ実は下の写真も少し前に撮ったものなので、最新のものではない自分の傾向として咲き始めから最盛期の少し前の状態を撮影する場合が多い元々、この花は1株か2株位から始まったもので、何十年もかけて集団化した肥料を施したこともないし、ことさら大事にしたこともないま、折角生えているものだから抜かないというだけで、こんなになったこの時期は他の花があまり無いので少し楽しめる1年草は植えたり蒔いたりすることを、ほぼ止めている手間のかからない宿根草が季節感もあって良い
2022.09.11
コメント(0)
pyxel editor を使ってみたとりあえず、ドット絵の描き方は難しくはない色のパレットの使い方が良く分からない追々調べて行くことにしようBGMの作成も面白そうだが、なんせオリジナルの創造力は無いのが悲しいなんとか、前回のスイミーのプログラムのドット絵はなんとか作ることが出来たオリジナルと全く同じものが出来た訳では無いが、作り方が分かったので良しとしようついでに、space invader のキャラクターも作ってみるカラーの使い方が良く分からないのだがそれなりのものはできたこれがリアルで流行ったときは凄かったな街中でこの音が鳴り響いていたこのプログラムも作りたいけど、作ったところで自分で遊ぶのが下手くそでいかんともし難い孫が面白がってやってくれるかどうかunity の BazookaGame は楽しんでくれているようだ
2022.09.10
コメント(0)
別にこの曲で無くても良かったのだが、このオーケストラの音が素晴らしい弦の音が特に澄んでいて爽やかだ恥ずかしながら、これまでこのオーケストラの演奏はあまり聴いていない最近になって、数曲集中的に聴いたのだがどの曲も良い昔だったらひょっとしたらスルーしていたかもしれない最近(年齢を重ねてきてww)かなり演奏のストライクゾーンは広くなってきてはいるのだがそのこととは無関係に感動できる演奏だったぜひ生で聴いてみたいな
2022.09.09
コメント(0)
tkinter である程度の理解が得られたので、以前少しやった pyxel に挑戦する前回やった時に、pyxel.init() の引数に caption は無くなり、代わりに titleになったことは判明した今回は、引数ではなく属性の名称の変更が分かった実は pyxel.btn(pyxel.MOUSE_LEFT_BUTTON) の MOUSE_LEFT_BUTTON が使えないこれは MOUSE_BUTTON_LEFT に変更になったようだdir() で属性一覧を表示させてみたところ判明したこの一覧は保存しておいたまた、BOID の時に挑戦して動かなかった suimi というシミュレーションは、どうしても動かない引っ掛かっている場所は pyxel.load("fish.pyxel") の部分で、ネット中を随分調べた(つもり)のだが分からなかったpyxel editor で .pyxres ファイルを作成して読み込む方法は分かったので、最終的には自作の画像を使おうと思う
2022.09.08
コメント(0)
tkinter でマインスイーパーができなくはないと思うのだがどうも難しいキャラクターで数字を表示したりするのをやめて全部イメージにすれば、そこそこのものが作れると思うのだが、モチベーションが維持できそうにない結局、全部キャラクターベースで作成することにしたて、いうかなんとか遊べるようなものは出来るようになったでも、やはり爆弾が爆発しているイメージや旗を立てた様子を文字で表すのは面白味が無い時間を置いてみて、やる気が出た時に全部イメージで作成してみようレリーフの状態もイメージで作れば良いので tkinter にこだわることもない今回、デバッグをかなり使ってみたのだが、ブレークポイントでカーソルを変数の上に乗せると値が表示されるのは便利ではあるでも、必要なところに print 文を書いて内容を表示させるのが手っ取り早いwwvscode のデバッグはなかなか強力そうなので、慣れれば力を発揮しそうだ
2022.09.07
コメント(0)
マインスイーパーを作ってみようと思うのだが tkinter の壁にぶつかっている各ブロックはラベルを並べて作成する(当然だと思うが)ラベルには開けた時に近傍の地雷の数を表示するので text="数字" という表示が必要となるこの場合、width=... と height=... はテキストの倍数となる一般的には 2 と 1 を指定するだろうところが、右クリックでフラグを立てた時は旗のイメージを表示したいこれが上手くいかない下のスクリーンショットのように、テキストに関係なくイメージを表示したいときは、width=... と height=... はピクセル数でいけるようだこれを、上手くやるためには数字の表示もイメージを使うしかないのかな難しいな
2022.09.05
コメント(0)
python も少しずつ分かってきた気がする今日この頃だが試しにマインスイーパーを作ってみようと思い立ったwindows のマインスイーパーではマウスの左右ボタン同時クリックという動作がイベントとして使われているこれを使うと爆弾のあるブロックと無いブロックを切り分けるのに便利だ無くてもゲーム自体は出来るけど・・・全体を tkinter で作ろうと思っているところなのだが、bind のモジュールタイプの Button 関連を調べても、マウスの左右ボタン同時クリックというイベントが見つからないで、中ボタン("<buttonpress-2>")で代用することにしたtkinter ではなく他のイベント検出システムを使えば可能のようだが、とりあえず、中ボタンでやってみる先は長そうだけどゆっくり作ってみたい
2022.09.04
コメント(0)
年齢を重ねたクラシックファンには懐かしい曲だ最後の方にNHKの「希望音楽会」のテーマ曲が流れるネットで調べると 1945 ~ 1948 年のラジオ第一放送で放送された番組ということらしいでも、自分の年齢からしてその10年後位に再放送を聴いたような気がするその時は無論子供だったのだがテーマ曲のメロディーは良く覚えている後日、曲名を知りたくてラフマニノフのピアノコンチェルト2番の3楽章とかショパンにも似たような曲(長調の落ち着いた曲)を調べたりした最近になってようやくラフマニノフの「パガニーニの主題による狂詩曲」だと分かったこの曲はリストのものばかり聴いていたので、この「希望…」のテーマ曲の部分を知らなかったま、長年の(半世紀以上の)疑問が解決しためでたしめでたし
2022.09.03
コメント(0)
生物の群行動のシミュレーションを BoidAgent を使わないでやる全体のスケールが固定して群れの大きさは分かるようになったこれで、「整列」を強めに設定してみたら面白いことになったイワシボールのようなものが出来たのだ群れに入らない個体も居るが全体としては1つのボール状になったこれが、同じ方向に進むので単にボールが移動しているように見えるこのとき何かのアクション(例えばマウスクリック)などで「集合」が小さく「分離」が大きくなるような仕掛けを作るとどうだろう現実のイワシの群れに大型魚が入ったような感じで、爆発的に離散するのではないだろうか一定時間で設定を元に戻すと、再びボール状に集まるような気がするとにかく、プログラムとしては完成ということで、これはこれで置くことにするblender で魚群を作ってみたいけど少し先になるかな
2022.09.01
コメント(0)
全25件 (25件中 1-25件目)
1