投稿

ラベル(CG)が付いた投稿を表示しています

N88-BASICで8色中2色のタイリング

イメージ
2022/6/10(金) N88-BASICで8色中2色のタイリング (重複組合せ)   PC-9801 8色モード2ドットで 1点を表すと何色表現できるか   8色モードのカラーコード(以後、水は水色) 三原色B=1, R=2, G=4の和で表される 例 白 = B+R+G = 1+2+4 = 7 0:黒 1:青 2:赤 3:紫 4:緑 5:水 6:黄 7:白   解法1 8色から2色選ぶ組合せは 8 C 2  = 8・7/2 = 28 これには同じ色同士(00~77)の8組が 含まれていないので 28 + 8 = 36組   解法2 0との組は0~7の8色 1との組は上記0との組を除いた1~7の7色 2との組は上記0~1との組を除いた2~7の6色 3との組は上記0~2との組を除いた3~7の5色 ... 7との組は上記0~6との組を除いた7の1色 よって、8+7+6+5+4+3+2+1 = 8(8+1)/2 = 36組   解法3 8色から重複を許して2色選ぶ組合せは 8色を仕切る仕切り7個 (0|1|2|3|4|5|6|7)と2色をを置く 場所Xを7+2箇所用意する XXXXXXXXX この場所の7箇所に仕切りを置き 残りのXに色を置くと 重複を許して2色選んだ事になる 例1 |X|||X|||と仕切りを置き |X| | |X| | | 0|1|2|3|4|5|6|7 対応する色をXに置くと2色 選んだ事になる 例2 |||XX||||と仕切りを置き | | |XX| | | | 0|1|2|3 |4|5|6|7 対応する色をXに置くと重複して2色 選んだ事になる 仕切を置く組合せ 9 C 7   = 色を置く場所の組合せ 9 C 2  より 9 C 2  = 9・8/2 = 36組   ここで、 03 = 12 (黒紫 = 青赤) [0+(B+R)  =  B  + R  ] 05 = 14 (黒水 = 青緑) [0+(B+G)  =  B  + G  ] 06 = 24 (黒黄 = 赤緑) [0+(R+G)  =  R  + G  ]   07 = 16 (黒白 = 青黄) [0+(B+R+G) =  B  +(R+G)] 07 = 25 (黒白 = 赤水) [0+(B+R+G) =  R  +(B+G)] 07 = 34 (黒白 = 紫緑) [0+(B+R

N88-BASICでCIRCLE (3回目)

イメージ
2022/3/12(土) N88-BASICでCIRCLE (3回目)   前回の3点を通る円弧 を連続円弧 にします   入力した座標を記録し、 再生するプログラムを セーブ出来る様にしました   このプログラムは一筆書きのみの対応です   NL-BASICとblg~.zip(cir003.bas)は 以下のリンクからダウンロードできます https://ulprojectmail.blogspot.com Readme.txtを読んで遊んで下さい  

N88-BASICでCIRCLE (2回目)

イメージ
2022/3/10(木) N88-BASICでCIRCLE  (2回目)   前回の3点を通る円を円弧にし ます 3点と中心の位置ベクトルをA,B,C,O とすると、 ベクトルA-Oとx軸(正方向)のなす角θ を求めます   A-O=(x,y)とすると、 0°≦θ< 360°は、 -90°≦ Tan -1 (y/x) ≦ 90°として、 x = 0 のとき、   不明  (if y = 0)    90° (if y > 0)   270° (if y < 0) x > 0 のとき、   Tan -1 (y/x)        (if y ≧ 0)   360°+ Tan -1 (y/x) (if y < 0) x < 0 のとき、   180°+ Tan -1 (y/x)   3点A,B,Cのどれを始点、間の点、終点 にするかによって、描かれる円弧が 変わります   BASICでは角度はラジアン(弧度法)なので 0≦θ<2π です   今回は、A,B,Cの順に点を打つとして、 AからCへBを経由する円弧を描きます   A<B<C → A to C B<C<A → A to C C<A<B → A to C A<C<B → C to A B<A<C → C to A C<B<A → C to A   860 IF W > 0 THEN T = ATN(H / W) - (H < 0) * 2 * PI: RETURN この行の(H < 0)は、真なら-1、偽なら0になる   NL-BASICとblg~.zip(cir002.bas)は 以下のリンクからダウンロードできます https://ulprojectmail.blogspot.com Readme.txtを読んで遊んで下さい  

N88-BASICでCIRCLE (1回目)

イメージ
2022/3/8(火) N88-BASICでCIRCLE (1回目)   3点を通る円をCIRCLE命令で描画します   ベクトルは大文字、スカラーは小文字で 書くことにします   ベクトルの内積の行列表記 A=(a x ,a y ), B=(b x ,b y ) A・B = a x b x  + a y b y   |a x  a y ||b x | = a x b x  + a x b y  = A・B              |b y |   行列 M =|a b|の行列式det|M|=ad-bc              |c d| det|M|はベクトル(a b),(c d)または (a c),(b d)が作る平行四辺形の面積(方向有)   行列や、平行四辺形の面積は、このブログの   https://ulprojectmail.blogspot.com/2021/06/n88-basicmatrix-1.html N88-BASICで行列(matrix) (1回目)   https://ulprojectmail.blogspot.com/2022/03/n88-basicvector-2.html N88-BASICでベクトル (2回目)   で、それぞれ解説しています   逆行列 M -1 =   1      | d -b|  (det|M|= ad-bc ≠0)                      ad-bc |-c  a| 単位行列 I=|1 0|          |0 1| (ad-bc)M -1 M=|ad-bc -ab+ab|=|ad-bc   0  |                         |cd-cd -cb+ad|  |  0   ad-bc| M -1 M=|1 0| = I             |0 1|   -------------------------------------------- 円周上の 3点と中心の位置ベクトルを A,B,C,O、円の半径をrとする   A=(a x ,a y ), B=(b x ,b y ), C=(c x ,c y ), O=(x,y), r   中心から各 3点までの距離はrなので |A-O|=r |B-O|=r |C-O|=r   両辺 2乗して |A| 2

N88-BASICで落書き

イメージ
2021/6/8(火)  N88-BASICで落書き   (by ULproject for N88-BASIC, NL-BASIC)   NL-BASIC,VL-BASICについての注意点とお知らせ 扇形の塗潰しは、はみ出しや塗残しなどの不具合が でる可能性があります その時は PAINTなどで代用して下さい 塗潰しの円や扇を描く過程を見る見ないを、 Alt+'-' , Alt+'^' で切替えることができます Alt+'1'~'6'(全体の速さ変更) Alt+'7'~'0'(グラフィックの速さ変更) など詳しくは付属マニュアルを見てください (NLBasic01.txt,VLBasic01.txtでも可能です)   graf001.bas 渦巻と色塗り graf002.bas 円と色塗り graf003.bas まるを描く graf004.bas くま graf005.bas うさぎ graf006.bas たぬき   N88-BASICについて   グラフィック座標は (0,  0) … (639,  0) … (0,399) … (639,399) のように左上が原点になっています。 (右下はSCREENモードにより変わります) 色は 0:黒 1:青 2:赤 3:紫 4:緑 5:水色 6:黄 7:白 です   CIRCLE(320, 200), 50, 7 で半径 50の白い円が画面中央に描かれます。   CIRCLE(x, y), r, c, a1, a2, e, F, b/t$ (x, y) … 円の中心座標 r      … 円の半径 c      … 円弧の色 a1, a2 … 円弧の開始,終了角(0~2π)(負の時半径描画) e      … 楕円の縦の半径に対する横の半径の割合            半径 rの円を縦,横に潰した形になる。           e = 0.5 → 横r , 縦0.5r で横長           e = 2.0 → 横r/2  , 縦r で縦長 F      … Fを指定すると円内部をc色で塗潰す b/t$   … bを指定するとcの代わりにb色で塗潰す           bの代わりにt$を指定するとタイルパターン