[ピクトグラミング] 頭(HEAD)の指定,及び頭の回転機能の追加

posted in: 開発者ブログ | 0

人型ピクトグラムの頭の形状は円です.ですので頭を回転しても見た目は変わりません.表記はしていませんでしたが,実は頭だけ回転命令は前から存在していました.

しかし,お面の装着機能を追加したことで,頭が回転するとお面の向きが変わります.そこで,頭だけを回転する命令を記述するための情報を公開します.

部位は HEAD (英語),頭(日本語),あたま(にほんご)です.

ちなみに例を作ってみました.

MS HAPPINESS
RW LUA -49 0
RW LLA 101 0
RW RUA 151 0
RW LUL -26 0
RW HEAD 50 0

 

 

[ピクトグラミング] PEN命令を更新しました.

posted in: 開発者ブログ | 0

ピクトグラミングでは,体の部位を使って線画を書ける機能があります.

これまで,

PEN  UP でペンを上げる(それ以降は描画しない).

PEN  DOWNでペンを下げる(それ以降は描画する).

でした.これはLOGOの命令に準じていました.しかし,ピクトグラミングでは人型のピクトグラムが描画するということで,上げる下げるというのがイメージしにくいという意識を持っていました.そこで,デフォルトを PEN RELEASE でペンを離す,PEN HOLDでペンを持つに変更しました.

日本語では 「ペン 離す」「ペン 放す」でPEN RELEASE,「ペン 持つ」でPEN HOLDになります.

ピクトグラミングでは後方互換性は維持しますので,今まで通り PEN UP, PEN DOWNでも動作します.

[ピクトグラミング] 命令入力支援機能の改良

posted in: 開発者ブログ | 0

ピクトグラミングでは,プロブラム記述領域に独自の言語仕様でテキストで入力していきます.

主要命令をボタン入力で補完するボタン群が画面下部に配置されているので,命令の記述がわからなくてもボタンに記述されている命令例をみたり,マウスオーバーすると人型ピクトグラムが吹き出しでその意味を教えてくれるので,使っていると小一時間もすると慣れてきます.

使っている様子を見るとたまにあるのが,命令の途中に保管した命令が挿入されてしまい,シンタックスエラーになる例です.次にその典型例を示します.|はカーソルです.

命令ボタンを押下して最初に入力した後に,

R LUA 90 1|

回転角度を変更しようとして,

R LUA 120| 1

と変更して,さらに続けて別のボタンを押すとカーソル位置に次のように命令が追加されて実行されてしまうため,シンタックスエラーが発生します.

R LUA 120RW LUA 90 1
|
1

そこで,命令ボタン押下時に追加される命令は必ず行頭から追加されるように修正しました.行頭以外にカーソルがある場合,次の行の先頭に,行頭にカーソルがある場合,その行の命令の前に命令が挿入されます.

よって先ほど例示した

R LUA 120| 1

の状態でRW LUA 90 1ボタンを押下すると,

R LUA 120 1
RW LUA 90 1
|

となります.

また例えば,
|R LUA 120 1

の状態でRW LUA 90 1ボタンを押下すると,

RW LUA 90 1
R LUA 120 1
|

となります.

挿入されたところに挿入するという動作にしてシンタックスエラーが存在することを表示するでも,それは一つのあり方で,これまではそういう方針だったのですが,シンタックスエラーをできるだけ発生しないような仕組みにしていこうと思います.
将来的には,ブロックプログラミング型の言語や,JavaScript,Pythonなどのプログラミング言語での入力もサポートする予定ですが,ピクトグラミングのシンプルな命令セットゆえの長所を生かした環境を作っていきたいと思っています.

[Pictogramming] Command MS(Mask) and PS(Persona) are now supported.

posted in: 開発者ブログ | 0

“MS” command and “PS” command are added to Pictogramming. Command set if as follows.MS stands for “Mask”, PS stands for “Persona”.

Human pictogram could not make facial expressions. So he expresses emotions by wearing the face mask.  And, human beings, who project human pictograms, can express various different emotions. So human beings express limited some kind of emotions by using persona this time.

 

Command Format Process
MS arg1
Wear the face mask to the human pictogram. The type of mask is designated by arg1.

Anger type face mask when arg1 is ANGER.
Disgust type face mask when arg1 is DISGUST.
Fear type face mask when arg1 is FEAR.
Happiness type face mask when arg1 is HAPPINESS.
Sadness type face mask when arg1 is SADNESS.
Surprise type face mask when arg1 is SARPRISE.
is worn respectively.

Also, the human pictogram takes off the face mask if arg1 is NONE.

PS arg1
Wear the persona to the human pictogram. The type of persona is designated by arg1.

Anger type persona when arg1 is ANGER.
Disgust type persona when arg1 is DISGUST.
Fear type persona when arg1 is FEAR.
Happiness type persona when arg1 is HAPPINESS.
Sadness type persona when arg1 is SADNESS.
Surprise type persona when arg1 is SARPRISE.
is worn respectively.

Also, the human pictogram takes off the persona if arg1 is NONE.

 

 

 

You can create such a pictogram like this.  The pictogram represents “Proibition of walking with smartphone”, which is previously shown is one expression.  The pictograms with information on how people in the surroundings feel are considered new type of pictogram expressions.

 

[ピクトグラミング] お面命令と仮面命令を追加しました.

posted in: 開発者ブログ | 0

ピクトグラミングに「お面」命令と「仮面」命令を追加しました.命令セットは以下の通りです.MSはMaskの略,PSはPersonaの略です.
人型ピクトグラムは,表情を作ることができません.ですので,お面を装着することにより感情を表出するようにしました.また人型ピクトグラムに投影する人間は,人型ピクトグラムを異なり多様な感情を表出可能ですが,今回は仮面を装着することで限定的ですが感情を出力できるようになっています.

命令の様式 処理
MS arg1
人型ピクトグラムにお面を装着する.装着するお面の種類はarg1で指定される.

arg1 がANGERの場合,怒りのお面
arg1 がDISGUSTの場合,嫌悪のお面
arg1 がFEARの場合,恐れのお面
arg1 がHAPPINESSの場合,喜びのお面
arg1 がSADNESSの場合,悲しみのお面
arg1 がSURPRISEの場合,驚きのお面
がそれぞれ装着される.
またarg1にNONEを指定すると装着しているお面を外すことができる.

PS arg1
人に仮面を装着する.装着する仮面の種類はarg1で指定される.

arg1 がANGERの場合,怒りの仮面
arg1 がDISGUSTの場合,嫌悪の仮面
arg1 がFEARの場合,恐れの仮面
arg1 がHAPPINESSの場合,喜びの仮面
arg1 がSADNESSの場合,悲しみの仮面
arg1 がSURPRISEの場合,驚きの仮面
がそれぞれ装着される.
またarg1にNONEを指定すると装着している仮面を外すことができる.

 

英語と日本語,「にほんご」の命令の対応は以下の通りです.

 

英語表記 英語 日本語 にほんご
MS Mask お面 おめん
PS Persona 仮面 かめん
ANGER Anger 怒り いかり
DISGUST Disgust 嫌悪 けんお
FEAR Fear 恐れ おそれ
HAPPINESS Happiness 喜び よろこび
SADNESS Sadness 悲しみ かなしみ
SURPRISE Surprise 驚き おどろき

 

こんな感じのピクトグラムも作成できます.以前にアップした「歩きスマホ禁止!」も一つの表現ですが,周囲の人々がどう感じているかいう情報を含めたピクトグラムというのも新しいピクトグラム表現の一つとして考えられますね.

これは,学生の発案による卒業研究成果に関する実装を取り入れたものです.研究成果は2019年3月に学会発表される予定です.

[ピクトグラミング] 「早送り再生」機能の追加

posted in: 開発者ブログ | 0

ピクトグラミングは,命令を記述してアニメーションを作成できますが,アニメーションの総時間長が大きくなってくると末尾に新しく記述した命令の挙動を確かめるまで時間がかかるようになります.そこで,下の図にあるように通常再生ボタンの右に,「早送り再生」ボタンを追加しました.このボタンを押すと実行が早送りで再生され,記述したプログラムの挙動を本来の動作時間よりも短時間で確認ができます.

またプログラム記述エリアに命令を記述し,改行をするとそのたびにプログラムが最初から実行されますが,その場合も,「早送り再生」ボタンを押して実行したのちは,「早送り再生モード」は維持されたまま実行されます.もし再生モードを変更したければ,通常再生ボタンあるいは早送り再生ボタンを押せばそのモードに変更されます.

デバッガの機能がまだ十分でないのと,このような時間軸を有するコンテンツの生成をどのような機能で支援するのが良いかはこれからの研究課題です.今後も引き続きピクトグラミングのご支援よろしくお願いします.

[ピクトグラミング] 「図形の性質」

posted in: 開発者ブログ | 0

小学校プログラミング教育の手引(第一版) – 文部科学省 2018.03.30 では,教育課程内のプログラミング教育について次の4項目に分類しています.

A 学習指導要領に例示されている単元等で実施するもの

B 学習指導要領に例示されてはいないが,学習指導要領に示されている各教科等の内容を指導する中で実施するもの

C 各学校の裁量により実施するもの

D クラブ活動など,特定の児童を対象として実施するもの

特に項Aで例示されている小学校5年生   算数 図形(多角形)の性質,小学校6年生   理科 電気の利用,特に「図形の性質」については,すでに多くの実践事例が報告されています.多くは,タートルグラフィックスで図形を描くプログラムを通じて図形の性質を学ぶ実践となっています.

仕事柄教育関係者の方々と話すことが多いのですが,この単元に関して,以前このような声を耳にしました.

1.「学習指導要領で書かれている内容が学習されればいいのだから,「ネコで描こうが,亀で描こうが,人型ピクトグラムで描こうが関係ない」」

2.「これまでの定規とコンパスで描いてきたアナログな図形描画とデジタルでの図形描画(タートルグラフィックスを例に出していました)は全く異なる」

本当にそうなのでしょうか?

ピクトグラミングでは,タートルグラフィックスに相当するグラフィックス描画もサポートしていますが,それに加えて先日のエントリで「人型ピクトグラムの様々な部位を使って線画を描くことができるようになりました.」でご紹介したように,異なった視点(一人称鏡像視点とでもいうのでしょうか)の図形描画を実装することにしました. 

「小学校段階におけるプログラミング教育の在り方について(議論の取りまとめ)」2016-06-16 に以下の記述があります.

コーディングを覚えることが目的ではないことを明確に共有していくことが不可欠である。また、一人で黙々とコンピュータに向かっているだけで授業が終わったり、子供自身の生活や体験と切り離された抽象的な内容に終始しないよう、留意が必要である。楽しく学んでコンピュータに触れることが好きになることが重要であるが、一方で、楽しいだけで終わっては学習成果に結びついたとは言えず、子供たちの感性や学習意欲に働きかけるためにも不十分である。学習を通じて、子供たちが何に気付き、何を理解し、何を身に付けるようにするのかといった、指導上のねらいを明確にする必要がある。

Scratchを一斉授業で学習者全員が同一のゴールを目指すという単元型学習で使う事例も多く散見され, Scratchを検定試験に使うような団体も現れてしまっています.Scratch は非常にPowerful なツールですが,昨今のプログラミング教育ブームや,次期学習指導要領への対応状況を鑑み,俯瞰的視点で見るならば,どうScratchを使わないかという視点も考えていかなければいけないと思います.

また,ねこやカメですと一人で黙々とコンピュータに向かう可能性がありますが,人型ピクトグラムと一緒ならいつも最低二人です(笑).

 

[Pictogramming] Pictogramming now supports to draw diagrams with various body parts

posted in: 開発者ブログ | 0

Pictogramming now extends to be able to draw with many body parts.  Updated part is denoted with red color.

 

Command Format Process
PEN arg1 [arg2]

Pen up if arg1 is “UP,” pen down if arg1 is “DOWN.”  The name of body parts can be set as arg2. The notation of body parts is same as R or RW commands.  arg2 can be set only when arg1 is “UP” or “DOWN”.    It regards arg2 is BODY if arg2 is omitted.

The shape of line’s both edges set square if arg1 is “SQUARE”, set round if arg1 is “ROUND”.

No shape is attached at both edges if arg1 is “BUTT”.

Initial state is pen up and shape of line’s edge is square.

 

Following  9 parts can be set as body of parts.

Some examples are shown below:


SK
PEN DOWN LLA
REPEAT 4
R LUA 90
W 0.1
END

draws a rectangle by left hand.


SK
PEN DOWN LLA
R LUA 360 1

draws a circle by left hand.

Various diagrams can be drawn by variety of ideas.

 

And command format of RW and MW are also updated.  Updated part is denoted with red color.

Command Format

Process

R arg1 arg2 arg3 arg4

After arg4 seconds, rotate arg1, a part of the body, arg2 degrees counterclockwise over arg3 seconds. If arg4 is omitted, then arg4 is treated as 0. If arg3 and arg4 are omitted, the arg3 and arg4 are both treated as 0.

RW arg1 arg2 arg3

Rotate arg1, a part of the body, arg2 degrees counterclockwise over arg3  seconds.The next command is not executed until the movement is complete. If arg3 is omitted, then arg3 is treated as 0.

M arg1 arg2 arg3 arg4

After arg4 seconds, move arg1 pixels in an X-axis positive direction and arg2 pixels in a Y-axis positive direction with linear uniform motion over arg3 seconds. If arg4 is omitted, then arg4 is treated as 0. If arg3 and arg4 are omitted, then arg3 and arg4 are both treated as 0.

MW arg1 arg2 arg3

Move arg1 pixels in an X-axis positive direction and arg2 pixels in a Y-axis positive direction with linear uniform motion over arg3 seconds. The next command is not executed until the movement is complete. If arg3 is omitted, then arg3 is treated as 0.

 

“R arg1 arg2 0”  and “RW arg1 arg2 0″ are same command, so far.”M arg1 arg2 0” and “MW arg1 arg2 0” are same commands.Now third command of RW and MW commands can be ommited.This aims that  behavior of “R arg1 arg2” and  “RW arg1 arg2”, “M arg1 arg2” and “MW arg1 arg2” are different when it contains drawing.

(1) R and M commands with time 0 draws line, which edge are original position and position that all  are performed.

(2) RW and MW commands with time 0 draws line, which edge are original positionand position that this command is performed.

Here illustrates these difference.

 

SK
PENW 10
PEN DOWN LLA
RW LUA 45
RW LUA 45

draws following. First draws the line, which edge are initial position of left arm and rotate 45 degree counterclockwise. Furturemore, draws another line until the point of  rotating 45 degree counterclockwise

SK
PENW 10
PEN DOWN LLA
R LUA 45
R LUA 45

draws following. Draws the line, which edge are initial position of left arm and rotate 90 ( = 45 + 45) degree counterclockwise.

Hence,

SK
PENW 10
PEN DOWN LLA
REPEAT 8
RW LUA 45
END

draws following regular octagon.

SK
PENW 10
PEN DOWN LLA
REPEAT 8
R LUA 45
END

draws noting. Because, initial positon of left arm and a position which rotates 360 (=45 * 8) degrees counterclockwise from initial postition are same.

Similarly,

SK
PENW 3
PEN DOWN LLA
M 100 0
M 0 100

draws as follows:

On the other hand,

SK
PENW 3
PEN DOWN LLA
MW 100 0
MW 0 100

draws as follows:

 

Due to this extension about R, RW, W and MV, we were able to unify a drawing rule both it takes infinite time and when it takes with time of zero.