投稿

2月, 2021の投稿を表示しています

bounddot2 動画 と、苦労した点

先日bounddotの実行動画の最終形をアップロードしました。 今回は、bounddot2と称して止まっている円が3つのバージョンの動画をアップします。 ここから下は備忘録となります。 昼頃いったん完成しましたが、 映像キャプチャー用に調整していたら、 バグが出てしまい、 なかなかとれない状況になりました。 これも昔の投稿となりますが、 VS Code を使うと書きました。 しかし敷居が高いためうまくゆかず。 参考図書の電子書籍も内容が分からないのです。 ですので、昔ながらのPython 3のprint関数で出力し、バグをとりました。 もう慣れっこです。 問題点はこの1行です。 × for i in range(self.maxi,0,-1): 〇 for i in range(self.maxi-1,-1,-1): 正解の方で、 2か所変更していますが、 self.maxi-1 の方は エラーが出たので、すぐにバグはとれました 。 しかし、その次の0を-1にするのに かなり時間がかかってしまったのです。 for文を完全に理解していなかったのが原因です。 コマンドプロンプトにエラーが出ないので、 キャプチャー用に付け足した部分 つまり、違う部分が悪いと思い込んでいました。 実際の処理は、 if not (True in self.disp_questionmark): としていて、 この行自体は間違っていませんでした。 (その証拠に、ひとつ前のバージョンでは動作しています。) 問題点は、 self.disp_questionmark[0] がTrueのまま、無限ループしていたところでした。 (多分) ですので、上に書いた、 -1を下限にすることで、 i が、0の時も処理するようにできます。 この手のエラーは昔も出ていたと思いますがよく覚えていません。 とにかく、0まで添え字を演算したいときは、 -(0+1) で、イコール -1となります。 詳しくは、 Python 3の書籍の 、 for文の項目 などを見てください。 少し手を加えようと思ったのですが、 結構な時間かかってしまいました。 それでは、やっと動画をアップします。 bounddot2_No3.py 追記 今日も修正しました。 内部的にはかなり変更しましたが、 見た目があまり変わっていないので動画のアップロー

Pygameで立方体を回転させてみました 動画

(Python 3/pygame) 昔から作っているので、何回目かは覚えていません。 一応立方体は回転します。 テクスチャマッピングなしの立方体回転(Python 3/pygame) ですが、テクスチャマッピングを施した立方体が回転するかどうかはまだ知りません。 Pygameで書いたテクスチャマッピングした立方体が回転する動画があれば見たいですが。 先月に大量にアップロードしていた動画は(今は掲載していませんが)、 (Python 3/OpenGL)のものです。 pygameはキーボードからのキー入力に対応しているところが好きです。 昨日投稿したマイクロソフトのリンク(Python 3の話が中心です。)には面白いことがぎっしり詰まっています。 腕に覚えのある方は見てみてください。(^_^) まとめ(感想) 話がそれますが、Bloggerの日付が日本時間で無い件は放置しています。 そして、日本マイクロソフトの初心者向けの投稿がたいへん参考になります。 でもできれば、Djangoが何で、どんなことができるのか分かるともっといい記事になるかと思います。Djangoのサンプルプログラムを見てみたい!(どんなことに使うのか。) END

Microsoftで面白い投稿(?)を見つけました

WindowsでPythonを使ってみる(初心者向け): Windows で Python を使ってみる (初心者向け) | Microsoft Docs 興味のある人は 見てみてください。 END

dot衝突 動画

最終版(?)が完成したので、 動画をアップロードしときます。 跳ね返った時に色を変えています。 つまり、 緑色が無衝突。 黄色やオレンジが衝突した円です 。 dotと言っているのは、初期型が円というよりも、 dotに近かったからです。 参考にさせていただいた電子書籍を明記しておきます。 出典: Pythonゲームプログラミング 知っておきたい数学と物理の本  田中賢一郎 インプレスR&D この電子書籍以外にも、 インターネット上のサイトなども参考にさせていただいています。 円の衝突 動画  動画はVClipというWindowsのフリーソフトで録画しました。 END  

プログラムの道しるべ

今日はまったりと、思うがままにプログラミングしていました。 そこでつちかったノウハウ(?)というか、 自分はこんな感じで作りました。 といった手順を書いてみます。 1.tkinterテスト Windowsでの話を書きます。Python 3をインストールしている前提です。先月の投稿にもありますが、骨格というか、ウィンドウの表示をしました。Tkのテストです。Python 3ではなぜかtkinterと書きます。 2. 四角形表示テスト(ワイヤーフレームモデル) 四角形をウィンドウに表示しました。Python 3やtkinterの基本的な部分の理解ができます。例を挙げるならば、タプルやCanvas、そしてcreate_line()などです。 3. 立方体表示テスト(ワイヤーフレームモデル) 続いて行った操作が、立方体の表示です。立方体とは言いますが、上に書いてた、2.四角形表示テストと出力は同じです。いわゆる並行投影(?)というものです。しかし、中身は立方体です。中級者向けでしょうか(?)。  4. 投影方法変更など(ワイヤーフレームモデル) 自分は、この辺りはよくわかっていない可能性があります。ですので、あいまいな表現となります。投影方法を変更して、奥行きが確認できる方法に変更します。 ベストの選択肢は書籍の購入です 。インターネット上でも出来る可能性はありますが・・・ 5. Y軸周りの回転(ワイヤーフレームモデル) 我流のスタイルは、画面向かって右側にX軸をとります。上に向かってY軸。画面から自分の方向に、飛び出るように、Z軸をとります。そして、タイトルにある、Y軸の回転というのは、我流ではフィギュアスケートなどの回転と同じ考え方です。高等学校あたりで習う方式を使いますが、今回だけ横着してnumpyの行列を使いました。意味的には双方同じです。 以上の5点を順番に行いました。  気になる人がいたら、実行してみてください。 ただし、気を付ける点が一つあります。 かならず、1から順番に5まで行ってください。 理由は、自分がどこでつまずいたかわかりやすいからです。 実力が高い人ほど、順番にしない傾向にあるかもしれません。 基本をおろそかにしないために、の順番です。 約束を守れるならば、実行してみてください。 END

OpenGLのプログラミング挫折

挫折しました。 一身上の都合となります。 OpenGLの教本というか、 参考図書を所持していません。 それと、 キー入力全般がおかしくなったのが理由と言えるかもしれません。 とにかく、しばらく触らずにおこうと思います。 最近のマイブームは pygameとVS Codeです。 追記(2021年10月26日): OpenGLは復帰しましたが、 再びPygameに戻っています 。 (Python 3/Tk)も使います。 END