2023年2月12日日曜日

EGGxでフラクタルの再帰に挑戦。

 https://rosettacode.org/wiki/Pythagoras_tree

↑ここのソースを参考(ほとんど丸パクリ)して再帰で描くフラクタルの中でも好きなピタゴラスの木を描いてみた。
本当はずっとエレガントに書ける気がするのに三角関数とか忘れている自分にびっくりした。

一応、成果を示しておく。



2023年2月10日金曜日

前進!wslg

 ネットを探したりあれこれ設定をいじっても直らなかったwindows11のWSLgのx11での漢字表示がコマンドプロンプトからwsl --updateしたら直っちゃった。

これでmacosとwindowsで同じcのソースでグラフィックスを楽しめる環境が出来た。誠にめでたし!


2023年2月9日木曜日

ダブルバッファの効果

 EGGxのマニュアル(PDF)を見ていたらレイヤの指定を数行加えるだけでダブルバファリングが可能だとわかったので早速やってみた。

mac上で77msほどかかっていたmandelbrot集合の描画時間が52msと大幅に速くなった。
まだ加える複素定数の値を連続で変えながらアニメーションをするにはこの機能が必須でチラツキが全く無くなったので実に面白く見える。(プログラムでなく知ってもらう方法を今、探してます。)

いやーEGGxっていいですね。

2023年2月8日水曜日

WSLgでEGGxが・・

 あいかわらず日本語が出ないけどどうもfontの指定がうまく行ってない模様。

さりとてここで止まってばかりもいられないのでグラフィックの表示系のコーデイングを進めることにしよう。

問題が大きいと思うときは回り道をするのが得意です。(逃避行)


とりあえずこれまでの描画をベースに区間 real:-2 〜 2, image:-1.5 〜 1.5

c = -0.3 + 0.63i で実験してみた。

8色でもかなり面白い気がするので、色の表現を工夫したり速く描画できるのを利用してアニメートするのもおもしろいのかも・・


2023年2月4日土曜日

macos(mojave)にもeggxを入れてみた。

 dosvaxj3のコンパイルには失敗していたのでどうかと思ったけど
https://qiita.com/Antony/items/d91c7f36b023688d0d65
の情報を頼りにmacosの過剰なセキュリティを乗り越えてインストールに成功。

無事、先日来のmandelbrotを表示できた。

winodowsではegg用のフォントが無いって怒られた問題もmacosではうまく行った。
速度も3割ダウンぐらいで十分速いし大満足。
デフォのascii fontが大きすぎる気がするけどまあ問題は小さい。
これでwindowsとmacosで共通のソースを書いて遊べるかと思うと実にうれしい。


2023年2月3日金曜日

eggx環境のその後

 パレットをn88basic(86)で以前に書いたものに寄せたmandelbrotです。

昨日のeggxのサンプルの表示範囲を変えただけの例と比べると色をPC98によせて作成した過去の例に合わせるような変更を加えています。また time.h のclock関数を使って所要時間を計算して表示しています。
basicでは数式中に論理式を数値とみなして計算するときは(真)のときを−1、(偽)のときを0として利用していたのですがcでは(真)は1なのでより素直に書けます。
eggxの関数 newrgbcolorでPC98的な8色(0-7:黒青赤紫緑水黄白)を用意するのに青がいるところはi % 2で色をセット、緑は i > 3 でセット、赤は (i >> 1) % 2で0−7の3bitの各bitを0,1として取り出して利用しました。
(あ、今更気がついたけどcなら素直に0x1,0x2,0x4で && とればいいでね,でも >>も要るからあんまり変わらないか)
ubuntuのcの場合CLOCKS_PER_SECONDが1000000なので1000で割ってミリセコンドを表現してます。
久しぶりに細かいことを考えて書いてるけどミニパズルみたいで面白い。

しかし、なんの工夫もなく書いて57msecなのか・・・う〜ん!

月日が経つのは・・・

 姉妹Blog共々、7月の更新を忘れてました。 ちょっと色々あって古代電脳というか手続き型のプログラミングへの熱意が薄れてこのブログをどうするか考えてしまってます。 日々、いじればまた関心も高まると思うのでちょっと冷却期間に入ります。