先週末、コンクリートブロックに塩ビパイプを立ててセメントを流し込んでいたのは、実は衛星放送受信用のアンテナ設置用の土台だったりするのであった。例によって、パラボラアンテナの向きの調整には、ウェブカメラとVNCを活用するのがベストなのである。今回、VNCサーバはカミさんが使わなくなったThinkPadT400。webbie」という骨董のウェブカメラを引っ張り出してきて(数年ぶりなので探しだすのに苦労した)USBコネクタに挿す。アプリはvlcでアッサリ映った。VNCクライアントはオイラが使わなくなったPORTABOOKである。PORTABOOKはWindows10に戻してしまったので、厳密にはVNCでなく、リモートデスクトップ接続。T400にはxrdpをインストールした。connecting」といって沈黙してしまう。ググるとやたらと事例が見つかるが、原因はどれもバラバラ。何か問題があると、どれもこのメッセージが出るらしい。目的はアンテナの向きの調整であり、本質じゃない部分に引っかかっているのでイライラしてくる......が、最近は歳をとったのか、ちょっと心に余裕があるので、卓上カレンダをレンダリングする作業を挟んで気分を変える。大したログが出ていないが、netstatを見ると、xrdp-sesmanとのxrdpサーバの内部VNC通信がTIME_WAIT状態になっているのに気づいた。して......と、思ったら、やっぱりこれだった。「.Xclients」を書いたら、デスクトップが映るようになった。手元の画面を見ながら(画面はハメコミ合成です)、アンテナの向きをチョイチョイと調整し、アンテナレベル55(推奨36以上)を達成。今後はズレて録画に失敗したりすることはないだろう。これまでブロックに挿した木の棒にアンテナをくっつけていたのだからな。引き続き、先ほどレンダリングした卓上カレンダを印刷する。以前より少しスクリプトを改善し、前後の月や、ワンポイントのイラストが入るようになっている。生成されたPDF(4月〜、8月〜)とライブラリごとスクリプトを置いておく。ちなみに、144dpiのつもりでpdf化しているのだが、B3サイズで生成されてしまうようなので、そのまま印刷すると縦横2倍のサイズになってしまう。GIMPに読ませるときに、144dpiとして読ませ、288dpiとしてA4の用紙に印刷すると、いい感じの大きさに印刷される。うーむ、最近は歳をとったのか、ちょっと心に余裕はあるが、すぐに疲労してしまう感じだなぁ。頭を使って、できるだけ効率よく作業をしたほうがいいのか。その逆のほうがいいのか......。充実感・満足感を実感できる生活スタイルの変革への機会になるプログラミング能力の強化や知的好奇心の充足につながる(単に消費するだけではなく)創造する人間へと傾向を変えていくきっかけとなるといった効果につなげていく取り組みです。......なんてのは、オイラの勝手な取り組みだ。別にプレミアムフライデーも悪くない取り組みだとは思っているけど。別に今日完成させたわけではないのだが、ちょっと前から「30年前から気になっていたmz-2000のデモ画面の3DCG」の再現に取り組んでおり、無事描画に成功したのでプログラムリストと併せて公開しておく。オリジナルのデモ画面は、シャープのガラパゴスストアのレトロ家電カタログで見ることができる。3種類とも基本的にはコブの数が違うだけだ。問題は「陰面処理」だ。以前からどうやっているのか気になっていたのだが、ポンとヒラメいたら簡単な話だった。1行の追加でできてしまう。当時、この図案を考えた人は尊敬するなぁ。}さらに、新たに気になった「mz-80Bのデモ画面の3DCG」も再現してみた。中折れ帽のような複雑な形状だが、シンプルなアルゴリズムで描いているのに違いなく、これまたヒラメくまでに時間がかかった。左下の付近で「陰面処理」が微妙に破綻しているが、オリジナルのデモ画面も同様に破綻しているようなので、それでよしとしておく。OpenGLなんかにーッ!などと叫びつつ、舌の根の乾かぬうちに、OpenGLの試食を始めたのであった。いや、実は仕事半分なのではあるが。実はオイラ、68MACの末期の時代に、ちょっとレイトレーシングにハマった時期がある。モデラは使わず、完全にテキストファイル(テクスチャデータ以外)のみから、画像が生成されるというロジカルなところに魅力を感じ、毎晩、レンダリングさせつつ寝入っては、翌朝に結果をみて一喜一憂する、という日々を送っていた。いうわけで、3DCGのイロハくらいは身につけているのであるが、OpenGLはポリゴンが基本なので、ちょっと勝手が違う。ペラペラで中身がなく、表裏があり、勝手に影がつかない。驚いたのは、陰影をつけるためには、ポリゴンの法線ベクトルを自分で計算しなければならないところだ。レイトレーシングの計算方法のストイックさに比べると、OpenGLには強いニセモノ感を感じる。例えるならグランツーリスモとレッジレーサーみたいなものか。いえ、様々に擬似する技術が次々に投入され、実写に近いクオリティでリアルタイムレンダリングできるまでに到達しているのはOpenGLの方なのも確かだ。わけで、OpenGLを「自分のモノ」にするため、いつものように、ウェブ上からサンプルプログラムを持ってきて、写経するように、コードスタイルを自分好みに書き換えながら内容を理解し、ちょっとしたものを作るのである。今回のお題は「ガルデロータ」。記憶が定かでないが、確か昔シャープのX1で「ガルデロータ」をモデリングし、そのワイヤーフレームをクルクル回して遊んでいた気がするのだ。Oh!mzで、高速グラフィックパッケージ「MAGIC」が発表されたのは1986年9月だから、たぶん、その頃のはず。30年を経て、いま、ポリゴン化するのである。習作なので、敢えて雑に作ってあるが、陰影付きのガルデロータが30FPSでなめらかに回転できている。ソルバルウ(1991)、バージョン0.01といったところか。あとはバキュラを回して、ゲームっぽいモノにまとめてみたいところだが。あちらこちらでみかける「ドビン」は、OpenGLのサンプルモデルだったのね。妙に納得したわ......。1.8.7-p374。