土壌・植生・写真の解析に興味があります

近くの植生の観察、孫のプログラミング手伝いを目指します^_^

スクラッチプログラミングで「ボールはんていテスト」をやってみましょう

2021-03-31 11:01:21 | 日記
スクラッチでは、スプライト・コスチュームに色付けができます。
コスチューム「見た目」の「色の効果」を使って、
ボール・コスチュームの色を変化させ、
ボールスプライトの大きさを変えます。

ここでは、Nanoちゃんが、近づいたボールを色分け、
大きさ分けをして、トレイに入れます。



20回試行します。
プログラムは、次のようです。



ボールの大きさを決める変数aの値を
おおきい(>60)、
ふつう(60>、>40)、
ちいさい(<40) で、分けました。

次に、色分けをします。



20回試行します。
プログラムは次のようです。



ボールの色を決める変数bの値を
あかいろ(>140)、
あおいろ(70<、<140)、
みどり(<70) で、分けました。

スクラッチのプログラムは、次のサイトにあります。
*ボールの大きさ分け

https://scratch.mit.edu/projects/509563726

*ボールの色分け

https://scratch.mit.edu/projects/509561945


スクラッチプログラミングで「クローンを使った色の混ぜ合わせ」をやってみましょう

2021-03-28 14:23:11 | 日記
スクラッチでは、スプライト・コスチュームに色付けができます。
コスチューム「見た目」の「色の効果」を使って、
2つの色を混ぜたときの、色変化を調べました。
「クローン作製」スクリプトを使うと便利です。



スプライト・コスチュームの色付け画面は、次のようです。



「塗りつぶし」メニューから、「色」「鮮やかさ」「明るさ」を
選択した色ペンキをコスチュームに塗っていきます。



色」「鮮やかさ」「明るさ」は、スライダーで1から100まで
大きさを選べます。

「色」空間は、赤~赤の変化で、HSB、HUEなどの(類似多数)
モニター画面で、色味、明るさなど調整できる方式と想像します。
0度から360度までの1周期で色変化します。

例えば次のHSB色空間では、0~360度周期で
向かい合う色相が捕色に(2つの色を重ねると白色)



「色スライダー」は1~100まで変化しますから
スライダーの1変化は、色相環3.6度の変化に相当します。

今回のスクラッチプログラムは、2つの色を混ぜた時に
どのような色変化があるかを、シミュレーションします。
画面の色相環の角度を参考に「いろ選びボタン」をタップして
混ぜる色「答え(A1)」、「答え(A2)」に対応する色スライダー値を入力します。



「いろかえボタン」をタップすると



ボタン・スプライトにメッセージを送ります。
メッセージを受けたボタン・スプライトは
2つの色の混ぜ合わせで、色が変わる様子を見せます。





「ボタン」は、「色の効果」(色相の変化)を入力した2色の
中間の色を9段階に表示します。
中間色ボタンは、クローンを作成(コスチューム色を変えながら)
50歩横に移動しながら、次々にボタンを作ります。

「色の効果」は0から200までの数値で入力します。
0と200は色相環の赤色で、同じものです。

絵手紙など、絵具などを使って「混ぜた色」を作るときに、
混合比と色相の感覚がつかめるので、便利です。

スクラッチのプログラムは、次のサイトにあります。
タブレット、PCから入ると、プログラムを変えて
混ぜる色、表示する色の数など、変更できます。

https://scratch.mit.edu/projects/508309423




絵手紙教室・2021年3月

2021-03-11 17:22:42 | 日記
2月の絵手紙教室の提出作品です。

「さるぼぼ」は、高山に伝わる「猿の赤ちゃんの人形」だそうです。
手芸の先生の方から絵手紙練習に、貸し出していただきました。



年初に頂いた「干支の牛のデザイン」の湯飲みを描きました。



3月の団地の絵手紙教室は、先生のご都合でお休みに。
自習になりましたので、
写経教室の写仏を真似してみました。

「薬師如来」は、病気や具合の悪くなった人に
薬を施したりして、直してくださる仏様です。
薬の壺を左手に持っています。



「ふくろう」も、森の知恵者と思われていて、お医者さんのイメージです。



孫にひな祭りの絵手紙を描きました。



近くに咲いていた、「ぼけ」と「紅梅」です。



「ツツジ」も桜のあと、咲きだします。





スクラッチプログラミングで「ナンプレ」補足です

2021-03-06 15:34:19 | 日記
「スクラッチプログラミング」で、ナンバープレースパズル解きの追加です。

スマホ画面では、スクラッチのスクリプトが見えにくいので、
前回と同じ内容のPDFのファイルを、GoogleDriveサイトに置きました。

「ナンバープレース」をスクラッチプログラミンで解きましょう1.pdf

Google Docs

 


スクラッチプログラムは、次のサイトにあります。

https://scratch.mit.edu/projects/497400061

表示したリストは、「実数リスト」ですが



スクリプトの変数メニューに、チェック欄があります。
ここにチェックをいれると、実行画面に表示されます。
変数が多くなったときは、必要なものだけを表示できます。

スクラッチのサイトに入って、プログラムを動かせます。
編集画面でないといろいろな変更ができません。

ナンプレ問題のファイルは、次のGoogleDriveのサイトにあります。
エクセルアイコンのCSVファイルです。

20200208.csv

Google Docs

 


プログラムを動かすと答えを書き込んでしまいます。
新しく動かすときは、「数独入力リスト」アイコンを右クリックして
「20200208」ファイルを読み込んで、初期化してください。

動かしている撮影動画も次のGoogleDriveのサイトにあります。

スクラッチ数独mp4.mp4

Google Drive

 


スクラッチプログラミングで「ナンバープレース」をやってみましょう

2021-03-05 11:01:38 | 日記
子供さん向けの「スクラッチプログラミング」で、次のような
ナンバープレース パズル解きを目指します。



ナンプレの遊び方(https://sudoku.com/jp
ナンプレは、9×9のマス目を、jpタテ9マス・ヨコ9マス・各3×3のマス目が1から9までの数字をそれぞれひとつずつ含むように埋めるゲームです。ゲームの最初の段階では、いくつかのマスに既に数字が書き込まれています。あなたの任務は、ロジックを用いて残りのマスを埋め、9×9のマス目を完成させることです。以下のルールに従うことを忘れないでください:
• タテの列は1から9の数字をそれぞれひとつずつしか含むことができない
• ヨコの列は1から9の数字をそれぞれひとつずつしか含むことができない
• 各3×3のマス目は1から9の数字をそれぞれひとつずつしか含むことができない

そこで、空欄を順番に、「タテ」、「ヨコ」、「3×3」ブロックの数字を確認しながら
数字を埋めていきます。

次に9×9ナンプレの、問題と解答例を示します。



空セルを埋めていくには、次のような流れで、処理を行います。



① ナンプレ問題の入力
9かける9=81の数字を格納するリスト「数独入力」を作ります。
これと別に数独リストの位置を参照できるように、1から81までの数を
順番に入れたリスト「9-1」を作ります。





「数独入力」リストは、空欄を0として



1番目から81番目まで、改行しながら数字を入力します。(テキストかCSV)



リスト「数独入力」アイコンを右クリックして、入力ファイルを読み込みます。



これで、ナンプレ問題ファイル「数独リスト」が完成です。

② たて方向9セル計算
変数「数値N」で、調べるセルに順番に番号を付けます。
たて方向のセルは、「数値Nを9で割ったあまり」が最小値で
順番に9を足した数値を繰り返して、9個の数値の列になります。

この「たて方向9セル」は、「判定たて」リストに数値Nの番地が入ります。
「実数たて」リストに番地に対応するセルにある数値が入ります。

これらの処理を行うスクリプトは、つぎのようです。



③ よこ方向9セル計算
よこ方向9セル計算は、「数値Nを3で割ったあまり」が最小値で
順番に9を足した数値を繰り返して、9個の数値の列になります。
この「よこ方向9セル」は、「判定よこ」リストに数値Nの番地が入ります。
「実数よこ」リストに番地に対応するセルにある数値が入ります。
これらの処理を行うスクリプトは、つぎのようです。



④ 3×3方向9セル計算
3×3方向9セル計算は、「数値Nを3で割ったあまり」が最小値で
順番に9を足した数値を繰り返して、9個の数値の列になります。

3×3方向9セルは、次のような9個のブロックになります。



数値Nを3で割った商の値で
1以下では、①~③のブロックに
2以下では、④~⑥のブロックに
3以下では、⑦~⑨のブロックに
さらに上記の商を3で割った、余りの大きさで
余り1では、①、④、⑦に
余り2では、②、⑤、⑧に
余り無しでは、③、⑥、⑨に
それぞれ分類され、
ブロックの左上の値(数値Nの最小値)を指定する、補正をします。

この後は、ブロックの3行の数を順番にリストアップします。

この「3×3方向9セル」は、「判定しかく」リストに数値Nの番地が入ります。

「実数しかく」リストに番地に対応するセルにある数値が入ります。

これらの処理を行うスクリプトは、つぎのようです。



この処理が終わると「判別リスト」には、
「たて」「よこ」「3×3」の数列に該当する数値Nが入ります。
ここでは「数値50」の例です。



数値Nに該当する数独入力値を、「実数リスト」に表示します。



「実数リスト」のそれぞれ9個の数値が、1から9まで1個ずつ入っていることが
パズルの条件です。
*ここでは、「実数よこ」リストが、条件を満たしています。
(後から示す解法処理⑥、⑦で、数値50の空セルに、「5」を記入しています。)

条件(⑥、⑦)に合った数字を判別する
  「実数リスト」の数字を1から9まで、順番に並べて、入っていない数字を
  判別します。(数値計算リスト)
さらに数値Nのセルが空(0)であることを確認して、その数を代入します。
この判別プロセスは、次のスクリプトで行います。





空白セル(0)だった数値N=50番目は、5を代入することで
「よこ」「しかく」ブロックで「1から9が揃う」条件になりました。

「ナンプレ問題」と「解答」をマス目表示で見たいときは



9個数字の列を9列作って、並べると、マス目でみることもできます。
現在は実行画面の表示が小さいので6個の数字だけで
9列を横に並べることもできません。



表示場所が少なく、必要な変数表示が多いので
プログラム実行画面ではなく、編集画面を使って
プログラムスクリプトを分けながら使うと便利です。

どんな感じで動くかは、のちほどご報告します。