[ピクトグラミング] 2021-11-01 ピクトグラミングの学習用テキストを更新しました。

ピクトグラミングの学習用テキストを更新しました。一つ前のバージョン20210909に対して、「5章 ピクトスイミング」「6章 物体移動」の2章を追加しました。また8章を変更しました。

Pictogramming(ピクトグラミング)

Pictogramming学習用テキスト(英語命令 8章 20211024版)

Pictogramming学習用テキスト(日本語命令 8章 20211024版)

 

ピクトグラミングの学習用テキストのページからダウンロードできます。こちらのページも更新いたしました。

学習用テキスト(ピクトグラミング,ピクソン,ジャバスクピクト,ブロックピクトグラミング)

引き続きピクトグラミングシリーズをよろしくお願いします。

[Block Pictogramming] Block Pictogramming English PC version now supports handling video motion sensor.

posted in: 開発者ブログ | 0

Block Pictogramming (English PC Version) now supports video motion sensor function.

 

There are several icons with radio button. Checked the right most radio button, which is right to video icon.

Then, camera video is overlaid in the pictogram display area.

The block list of the event category is as follows:

 

The block of the event category acts until the execution of surround block “When run button pressed” is completed. Hence, it is good way to put an “wait n seconds” block within it.

The following three types of event blocks for the video motion sensor are available.

 

Execute when the brightness (0 to 255) of a specific part of the body changes by 30 or more.

Executes when the brightness or the red component or the green component or the blue component (0 to 255) of specific part of the body changes above a certain level or changes to above a certain level or changes to below a certain level.

Executes when the brightness or the red component or the green component or the blue component (0 to 255) of specific coordinates changes above a certain level or changes to above a certain level or changes to below a certain level.

Event detection and occurrence timing is every 0.5 seconds.

Below is a program that makes human pictogram happy when you touch his/her left hand.

 

[ブロックピクトグラミング] ビデオモーションセンサーの機能を実装しました.

posted in: 更新情報, 開発者ブログ | 0

ブロックピクトグラミング(日本語PC版)にビデオモーションセンサーの機能を実装しました

 

画面右上にチェック☑を入れて操作するアイコンがあると思います。一番右のビデオのアイコンの右にあるにチェック☑をオンにしましょう。

するとカメラの映像がピクトグラム表示領域にオーバレイされます.

イベントカテゴリのブロック一覧は以下の通りです.

 

イベントカテゴリのブロックは「実行ボタンが押されたとき」のコ型ブロック内の実行が終了するまで有効なので,実行ボタンが押されたときに「n秒まつ」のブロックを入れておくと良いと思います.この点ご注意ください.

ビデオモーションセンサーのブロックは以下の3通りを用意しています.ある特定の座標の色情報の変化が特定の条件を満たすとそのコ型ブロックの内部のプログラムが実行されます.色情報の取得及びプログラムの実行タイミングは0.5秒おきになっています.

 

体の特定の場所の明るさの値が30以上変化したときに実行されるブロック.明るさ(明度)の値は,0(暗い)から255(明るい)の間の整数値をとります.最新の値を取得した際,一つ前(0.5秒前)に取得した値より30以上変化しているときに実行されます.

体の特定の場所の明るさor赤色成分or緑色成分or青色成分(0から255)が一定以上変化or一定以上に変化or一定以下に変化したときに実行されるブロック.特定の座標の色情報は,RGBカラーモデルに基づいて保持されています.RGBカラーモデルでは,それぞれの座標に対して,「赤色成分」「緑色成分」「青色成分」に分割し,それぞれの色成分も明るさと同様に0から255の値をとります.このブロックは,指定した体の特定の場所の座標の明るさあるいは指定した色成分の最新の値を取得した際,一つ前(0.5秒前)に取得した値との比較して条件を満たしたときに実行されます.

特定の座標の明るさor赤色成分or緑色成分or青色成分(0から255)が一定以上変化or一定以上に変化or一定以下に変化したときに実行されるブロック 一つ上のブロックでは,体の特定の場所の座標の値を変化の検知の対象にしていますが,こちらは,指定された特定の座標を対象としています.

イベントの検知及び発生タイミングは0.5秒おきになっています.

下は,人型ピクトグラムの左手を触ってあげると喜ぶプログラムです.

 

とりあえずの実装なので,ご容赦ください.Tentativeバージョンとして,今後改良をしていきます.

ちなみにイベントカテゴリには,キーイベントのブロックも実装してますので,ちょっとしたミニゲームなどを作成することもできます.

 

ビデオ機能のない,一つ前のブロックピクトグラミング(日本語PC版旧版)旧版を使いたい方はこちらからアクセスください.

 

[ピクトグラミングシリーズ] 2021-10-03 タートルグラフィックスの機能に関して泳ぎメタファを導入し,「ピクトスイミング」と以後呼称いたします.

posted in: 更新情報, 開発者ブログ | 0

ピクトグラミングシリーズには,タートルグラフィックスの機能があります.

ピクトググラミングシリーズ独自の特徴として

1. 移動や進行方向の変化に時間の概念を取り入れ可能

2. 人型ピクトグラム回転,移動命令と同じく,「待ち」命令を取り入れている.

があります.

 

ブロックピクトグラミングを例にあげます.タートルグラフィックス関係のブロック(命令)は以下のとおりです.

 

 

ピクトグラミングでは,以下の通りです.第2引数に時間を指定できるようになっています.また,後ろにWをつけたFDW,BKW,RTW,LTW命令もあり.Wが付くか付かないかの挙動は,R,RW命令やM,MW命令と同様の対応関係になっています.Picthon(ピクトグラミングPython版)やJavaScpict(ピクトグラミングJavaScript版)でも同様になります.

 

命令の様式 処理
FD arg1 [arg2] 人型ピクトグラムを進行方向にarg2 秒かけて距離 arg1 だけ等速で進める.arg2 が 省略された時は,arg2 に0が入力されているものとして取り扱う.
BK arg1 [arg2] 人型ピクトグラムを進行方向と逆向きにarg2 秒かけて距離 arg1 だけ等速で進める.arg2 が 省略された時は,arg2 に0が入力されているものとして取り扱う.
RT arg1 [arg2] 人型ピクトグラムの進行方向をarg2 秒かけて時計回り方向に角度 arg1 だけ等角速度で回転する.arg2 が 省略された時は,arg2 に0が入力されているものとして取り扱う.
LT arg1 [arg2] 人型ピクトグラムの進行方向をarg2 秒かけて反時計回り方向に角度 arg1 だけ等角速度で回転する.arg2 が 省略された時は,arg2 に0が入力されているものとして取り扱う.
FDW arg1 [arg2] 人型ピクトグラムを進行方向にarg2 秒かけて距離 arg1 だけ等速で進める.移動が終了するまで次の命令は実行されない.arg2 が 省略された時は,arg2 に0が入力されているものとして取り扱う.
BKW arg1 [arg2] 人型ピクトグラムを進行方向と逆向きにarg2 秒かけて距離 arg1 だけ等速で進める.移動が終了するまで次の命令は実行されない.arg2 が 省略された時は,arg2 に0が入力されているものとして取り扱う.
RTW arg1 [arg2] 人型ピクトグラムの進行方向をarg2 秒かけて時計回り方向に角度 arg1 だけ等角速度で回転する.回転が終了するまで次の命令は実行されない.arg2 が 省略された時は,arg2 に0が入力されているものとして取り扱う.
LTW arg1 [arg2] 人型ピクトグラムの進行方向をarg2 秒かけて反時計回り方向に角度 arg1 だけ等角速度で回転する.回転が終了するまで次の命令は実行されない.arg2 が 省略された時は,arg2 に0が入力されているものとして取り扱う.

 

また各言語の表記は以下の通りです.

英語表記 英語 日本語 にほんご
FD Forward
fd
前進 ぜんしん
BK Backward
bk
後進 こうしん
RT RightTurn
rt
右回り みぎまわり
LT LeftTurn
lt
左回り ひだりまわり
FDW ForwardWait
fdw
前進待ち ぜんしんまち
BKW BackwardWait
bkw
後進待ち こうしんまち
RTW RightTurnWait
rtw
右回り待ち みぎまわりまち
LTW LeftTurnWait
ltw
左回り待ち ひだりまわりまち

 

 

今回,以下の変更を行いました.

1. タートル描画に関する命令を使った場合,自動的に大きさ0.1, 線の太さ1, 体に対する描画がonになる.

2. 描画中は人型ピクトグラムが進行方向を向く.

 

1.は,ピクトグラム作成が主題ですので,大きさや線の太さはデフォルトにしています.よってタートル描画をする際,大きさや線の太さを変更する命令を記述することが最初に必要でしたが,これを省略し,描画に集中できるようにしました.

また,ピクトグラミングシリーズは正面からの視点でした.タートルグラフィックスでは上からの視点が望ましいです.2.は,プールや海の上で泳いでいるのを上からの視点で表示しているイメージを想像してもらうために進行方向を向くようにしました.人型ピクトグラムは顔や衣服などがないので,このような泳ぎメタファの導入によって正面視点と上から視点の両方の切り替えが可能となりました.

 

ブロックピクトグラミングを使った例を示します.

まずは正五角形です.

”待ち”のあるなしと時間をうまく組み合わせることにより様々な図形を描画できます.

 

 

今回の変更はピクトグラミングシリーズ全てが対象です.ピクトグラミングのPython言語版Picthonの例です.同じくWと時間をうまく組み合わせることにより様々な図形を描画できます.

for _ in range(4):
    pic.FD(200 * math.pi * 1/4, 2)
    pic.RTW(90, 1)
    pic.LTW(90, 1)
    pic.RT(90)

 

ブロックピクトグラミングのブロックカテゴリ名も,「タートル」から「泳ぎ」(英語版 Swimming)に変更いたします.

 

またタートルグラフィックスの機能に関する名称に関しましても,ピクトグラミングシリーズでは以後,説明で参照する場合を除き,この機能に関しては「ピクトスイミング」という名称を使っていきたいと考えております.これまでも,「私は人型なのになぜ”タートル”なのか」と人型ピクトグラムから常に言われておりました.やっと肩の荷が降りました.このアイデアは,すっとこさまよりいただきました.ありがとうございました.

 

2021-09-14 ピクトグラミングに1. 反転表示,2. 線画オブジェクトのグループ化と移動 の機能を追加しました.

posted in: 開発者ブログ | 0

ピクトグラミングを更新しました.PC・タブレット版,スマートフォン版両方です.

追加した機能は

1. 反転表示

2. 線画オブジェクトのグループ化と移動

です.

いずれもすでに先行してブロックピクトグラミングには反映していましたが,ピクトグラミングにも反映させました.

1. 反転表示

ピクトグラムというとサイン用途で使われるものが有名ですが,コミュニケーション用途で用いるピクトグラムのデザイン指針を定めたJIST0103(コミュニケーション支援用絵記号デザイン原則)およびISO19027(Design principles for communication support board using pictorial symbols)では,サイン用途の配色と反転した,黒背景に白のピクトグラムが推奨されています.そのため「RV」(Reverse)の命令を追加しました.

 

命令の様式 処理
RV 反転モード(Reverse mode)に変更する。

 

英語表記 英語 日本語 にほんご
RV Reverse 反転 はんてん

 

 

 

 

2. 線画オブジェクトの移動

ピクトグラミングシリーズでは,人型ピクトグラム以外のオブジェクトは基本図形(線分または円)の集合で描きます.従来からフレーム単位の描画(Processingで採用されているような描いて全て消すの繰返し)をすればオブジェクトを移動させる(ように見える)ことはできました.しかしより簡便で理解しやすい方法を実装しました.

一つ以上の基本図形から構成されるオブジェクトを定義できる命令,定義されたオブジェクトを等速直線移動する命令を追加しました..

 

 

命令の様式 処理
DO arg1 対応するEND命令までに含まれるL命令,O命令の組み合わせで描かれる線画をarg1という名称で定義する.
MO arg1 arg2 arg3 arg4 arg4 秒かけてx軸正方向に arg2 ピクセル, y軸正方向にarg3 ピクセルだけarg1という名称で定義された線画を等速直線移動する.
MOW arg1 arg2 arg3 arg4 arg4 秒かけてx軸正方向に arg2 ピクセル, y軸正方向にarg3 ピクセルだけarg1という名称で定義された線画を等速直線移動する.直線移動が終了するまで次の命令は実行されない.

 

英語表記 英語 日本語 にほんご
DO DefineObject
defineobject
物定義 ものていぎ
MO MoveObject
moveobject
物移動 ものいどう
MOW MoveObjectWait
moveobjectwait
物移動待ち ものいどうまち

 

ブロックピクトグラミングと,同じ実行結果になるピクトグラミング(日本語版)のプログラムを下に例を示します.「物体を定義するためDO(物定義)命令を使って「りんご」というラベルを設定して定義しています.内部には,円と線分を描く二つの命令があります.これが構成要素となります.平行移動する命令(MO 物移動,MOW 物移動待ち)があり,これにより「りんご」が等速で落下します.オブジェクトの作成を通じて,複数の命令をまとめラベリングする手続き化の処理に慣れ親しんでもらいます

 

反転
回転待ち 右肩 69
回転待ち 右肘 41
物移動 りんご 0 320 0.5

物定義 りんご
円 211 -50 42 42 0
線 211 -55 211 -85
終わり

 

 

 

 

アプリケーション下側の命令入力支援領域のボタンも更新しました.

 

 

作品集のページの「やり投げ」もこの機能を使ったバージョンに更新しました.引き続きピクトグラミングシリーズをよろしくお願いします.

再帰と視点

posted in: 更新情報, 開発者ブログ | 0

関数や手続きの中で自分自身を呼び出す処理を再帰呼出しといいます.

プログラミングを学習する際,この再帰の概念でつまづく人も少なくありません.

 

懸垂を10回するプログラムを例に再帰について考えてみたいと思います.


図 (1)

 


図 (2)

 

これを再帰を使わずにブロックピクトグラミング(ピクトグラミングブロック版)で作成した例です.回数を引数指定して懸垂をする関数(実際は手続き)「懸垂」,図(1)の状態にする手続き「初期状態」と,図(1)→図(2)→図(1)の状態変化をアニメーションで表現する手続き「1回曲げ伸ばし」が定義されておりこちらは折りたたんで表示してあります.人型ピクトグラムとは異なる視点である第三者視点だと,繰返しを使った表現が思いつくでしょう.

 

次に再帰を使って,記述してみます.こちらは関数(実際には手続き)「懸垂」の中で「懸垂」を呼び出しています.皆さん1回懸垂をしては,あと何回だ!がんばろう!と繰り返し念じた経験はないでしょうか?もちろん懸垂以外の,腕立て伏せ,トラック一周,漢字の書き取り…..など繰り返す処理であれば同じことが言えます.これは,実際に懸垂をする人型ピクトグラムになりきって考えた視点と考えられるでしょう.

再帰の考え方を教えるのにご苦労されている先生方多いと思います.ハノイの塔だったり,再帰図形だったりと色々工夫されたりしますが,一度こういうのからスタートするのはいかがでしょうか?いかなる人も反復的な身体動作に関する身体知は有していると思います.

 

2021-08-29 ブロックピクトグラミングにいくつかの機能を追加しました(1. 反転表示,2. 線画オブジェクトのグループ化と移動,3. 文字列入出力).

ピクトグラミングのビジュアルブロック版である,ブロックピクトグラミングのPC日本語版とPC英語版を更新しました.

主に追加した機能は

1. 反転表示

2. 線画オブジェクトのグループ化と移動

3. 文字列入出力

です.

1. 反転表示

ピクトグラムというとサイン用途で使われるものが有名ですが,コミュニケーション用途で用いるピクトグラムのデザイン指針を定めたJIST0103(コミュニケーション支援用絵記号デザイン原則)およびISO19027(Design principles for communication support board using pictorial symbols)では,サイン用途の配色と反転した,黒背景に白字のピクトグラムが推奨されています.そのため,「マークを設定するブロック」に「反転」も指定できるようにしました.「マークを設定するブロック」は「図形」カテゴリの一番上にあります.

 

 

 

2. 線画オブジェクトの移動

ピクトグラミングシリーズでは,人型ピクトグラム以外のオブジェクトは基本図形(線分または円)の集合で描きます.従来からフレーム単位の描画(Processingで採用されているような描いて全て消すの繰返し)をすればオブジェクトを移動させる(ように見える)ことはできました.しかしより簡便で理解しやすい方法を実装しました.

一つ以上の基本図形から構成されるオブジェクトを定義できるブロック,定義されたオブジェクトを表示するブロック,定義されたオブジェクトを等速直線移動するブロックの三つを「図形」カテゴリに追加しました.下に例を示します.「物体を定義するための囲みブロックを使い「りんご」というラベルを設定して定義しています.囲みブロックの内部には,円と線分を描く二つのブロックがあります.これが構成要素となります.さらに「実行ボタンが押されたとき」の囲みブロックの中に,りんごを平行移動する命令があり,これにより「りんご」が等速で落下します.単に定義したオブジェクトを,定義した際の位置に表示するだけであれば,「物体〇〇を描く」ブロックを使います.オブジェクトの作成を通じて,複数の命令をまとめラベリングする手続き化の処理に慣れ親しんでもらいます.

 

等速直線運動以外の動きをしたければ,変数を設定して微小時間ごとに変化量を変えれば,実現できます.これは人型ピクトグラムを移動,回転する場合も同様です.次のプログラムは「りんご」が自由落下します.

 

3. 文字列入出力

ピクトグラミングでは,これまでも吹き出しの形で文字列を一定時間表示したり,ピクトグラムの構成要素として文字列を設定する機能はありました.しかしこれからはいずれも付加的な機能としての位置付けです.

一方,汎用プログラミング言語を用いた初学者向け学習では,文字列入出力をベースとするプログラムが題材になります.今回,カテゴリ「入出力」を追加し,ダイアログボックスを表示し値を特定の変数に格納するブロックと,画面上に小型化した人型ピクトグラムをカーソルに見立てて文字列を整列して逐次表示するブロックの二つを用意しました.この機能はすでにピクトグラミングPython言語版であるPicthonおよびJavaScript言語版であるJavaScpictには実装されていましたが,今回ブロック版にも実装しました.下の例は,高等学校情報科「情報Ⅰ」教員研修用教材でも紹介されている利子を計算するプログラムの例です.同一クラス内で学習者の習熟度に応じてテキスト型とブロック型の言語を併用する運用も想定できます.ピクトグラミングシリーズは基本静止画またはアニメーションピクトグラムを作成するのが目的の仕様になっているため,入力を要求するブロックはプログラムの最初に配置するようにしてください.途中に配置しても最初にダイアログボックスが表示されますので注意ください.

ブロックピクトグラミングPCひらがな版および各種スマートフォン版は順次新バージョンに変更していきます.

また,しばらくの間,各ページのフッタに旧版のブロックプログラミングのアプリケーションページへのリンクは残しておきます.旧版の利用が必要な場合,そちらのリンクを辿って利用ください.

次回の全体のアップデートは2021年年末を予定しています.特に高等学校「情報I」のデータ活用,中学技術科「情報分野」での授業での利用を想定した機能を中心にいくつか追加する予定です.

 

 

2021-08-21 ピクトグラミングトップページをリニューアルしました.

ピクトグラミングのトップページをリニューアルしました.

アクセスしたデバイスにより自動的に表示するトップページを変更するようになっています.

アクセスしたデバイス用の4通りのアプリケーション(Pictogramming, Block Pictogramming, Picthon, JavaScpict)と使い方へのリンクのみで構成されるシンプルかつ軽量なページです.それ以外の例えば,学習用テキスト,作品例等の関コンテンツへのリンクは全てフッター部分に集約しました.

今後は定常的に,トップページ以外のサイト構造やページをより使いやすいサイトをすべく随時更新していきます.今後ともピクトグラミングシリーズをよろしくお願いいたします.

 

(1) PC,タブレットでアクセスした場合のトップページです.

 

(2) スマートフォンでアクセスした場合のトップページです.

 

[ブロックピクトグラミング] ピクトグラム作成環境「ピクトグラミング」ブロック版の紹介,入門動画(計4動画)を作成いただきました!

posted in: 開発者ブログ | 0

「ピクトグラミング」ブロック版「ブロックピクトグラミング」を使用したピクトグラミングの紹介,入門動画を作成いただきましたので,紹介したいと思います.

 

今回紹介するのは以下の4本です.

 

まずはじめに紹介するのが,「とりあえずピクトグラミングを始める説明」の動画です.題名が示すとおり,まずはピクトグラミングがどういうものかを7分程度で知ることができます.

 

こちらは「とりあえず体験するピクトグラミング1,2」です.解説者の話し方,振る舞い方や人型ピクトグラムとのインタラクションの仕方など大変参考になります.ワークショップなどの体験講座での利用及びピクトグラミングファシリテータ養成を想定した動画となっています.2動画で完結です.

 

 

こちらは「ピクトグラミング入門」の初回動画.ピクトグラミングは,プログラミングの基本とのなる諸概念(逐次実行,平行実行,繰返し,条件分岐,関数等)を学べる要素を取り入れていますが,その視点を含めた動画内容となっています.つい先日共通テストの科目として導入などでも話題になっている高等学校「情報」をはじめ,小学校から大学に至る広範囲での情報デザインやプログラミングの授業での利活用が想定されます.

2回目以降の動画の公開が楽しみです.

 

[ピクソン] ピクトグラミングPython版であるPicthon(ピクソン)で,共通テスト「情報」で採用予定のDNCL2をサポートしていきます.

ピクトグラミングの派生アプリケーションの一つであるPicthonで,共通テスト「情報」で採用予定のDNCL2をサポートしていきます.

まずは,共通テスト「情報」サンプル問題Q2で提示されているプログラム程度は動作するように実装しました.

 

人型ピクトグラムが頑張って地面に文字列を描いていきます.

画面下のプルダウンで「DNCL2」を選択すると,DNCL2の基本命令がボタン入力できます.今のところ共通テスト「情報」サンプル問題で使われている最低限度の命令のサポートのみですが,正式なDNCL2の仕様は今後公開されると思います.

DNCLは読むために最適化された記述言語なので,それで読み書きすることの一長一短もあるのですが,検討の余地があると考えて,研究,調査も含め開発していきます.