移行記念パッケージ(仮)にロゴ制作プログラムを作りました。
使用できるのは直線、三角形、四角形、円で点データと図形データを記録できます。うまく使えば面取り(C、R)もできます。
データ化したので画面に何か書いて消したり自由に使えるようになりそうです。
またグリッドも白から紺色に変えました。
さらに制作中のものは丸文字が描けるように円弧(R)を描けるようにしています。今回のプラスしたかった機能はこんな感じです。
![](https://blogimg.goo.ne.jp/user_image/6e/1c/c4cb49f94e5a407afdc460df7414be79.jpg)
例えば開始点169度の点から円を4等分した点を表示できます。
赤い点が減色されて黒くなってしまいましたが、
頂点をクリックすることで図形を描くことができそうです。
ラジアンの割合を変えることで6等分にして6角形など
多角形を描くことができそうですね。
![](https://blogimg.goo.ne.jp/user_image/47/1c/07cfa2a1edbde0952c5c4094feb681e6.jpg)
今度は円弧補間で0.1ピッチのラジアンで50点を表示しました。
実はCIRCLE命令で点表示していて座標指定以外の方法です。
当時のMSXBASICはゲームだけではなく、調べてみるとかなり多用途に応用できたように思います。
ただインタープリタだったから遅かったです。そういうわけでMSXturboR相当にスピードアップ。
![](https://blogimg.goo.ne.jp/user_image/02/fb/f83ee0e9f121b4076fafc3553a99ed38.png)
こんなふうに任意の角度からRを弧を設定できそうな雰囲気になってきました。
![](https://blogimg.goo.ne.jp/user_image/34/8d/450b116020bb0d0cfc57404d13f78f42.png)
また弦を指定して二等辺三角形など多角形を作ることもできます。
ラジアンからSINとCOSに距離をかけるとZX,ZYの増分値が出て座標が出ます。
せっかくなので、判別のしかたも書いておきます。一番ラクな方法はMSXBASICのバージョン取得です。
? PEEK(&H2D)をすることでマシンタイプを調べることができます。
PEEKはメモリの内容を表示する命令です。これを利用してマシンごとに判別します。
「EEEE」とならないように待ち時間を調整します。
さて、今回はカーブ機能も追加されました。
ctrlキーを押しながらカーソルを動かすと高速移動できます。
![](https://blogimg.goo.ne.jp/user_image/4f/7d/1655cbb1f56e97023dbf67f886d34118.png)
任意の直線の垂線を引き半径を計算して例えば240度を指定するとこんなふうに描くことができるようになりました。
円弧は反時計回りのほか時計回りにも対応しています。
![](https://blogimg.goo.ne.jp/user_image/6f/a8/04fb5eee299f301784514cf8994c3f53.png)
時計回りは-90と入力します。図形データは圧縮のためX,Yは7から255までで0~6まではラジアン数値に使っています。
この領域の座標データがあった場合は弾かれます。
使ってみると斜線は基準線がないのでメッシュを45度にした定規が欲しい感じもします。
実はMSXのロゴはMSX2からで当時は幾何学的な映像のコンピュータグラフィックスが流行していました。
MSX1からMSX2に変わる頃は線画CGで音が流れるプログラムとかあったので、
もしかするとMSXの斜め移動できるのはその名残かもしれません。
当時は週刊少年マガジンの別冊のハレー彗星マガジン(講談社)の本の
表紙がハレー彗星のコアの部分のCGとか本の裏表紙がCASIOのMSXだったりしましたね。
結局、DEFINTの高速案はやめてマシン速度調整で対応にしました。
というわけでは5月中(5/22)のアップデートで第一期は終わりにします。では。