lecture:基礎ゼミナール

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
最新のリビジョン両方とも次のリビジョン
lecture:基礎ゼミナール [2018/06/19 16:53] – [論文を書いてみよう] babalecture:基礎ゼミナール [2018/07/19 08:06] – [texの参考資料] baba
行 451: 行 451:
 </code> </code>
  
-==== 論文を書いてみよう ====+===== 論文を書いてみよう =====
 https://www.jstage.jst.go.jp/article/jssd/58/0/58_0_86/_article/-char/ja/ https://www.jstage.jst.go.jp/article/jssd/58/0/58_0_86/_article/-char/ja/
 <code c exp_pointing.pde> <code c exp_pointing.pde>
行 510: 行 510:
 </code> </code>
  
-=== データ収集用リンク ===+==== データ収集用リンク ====
 https://docs.google.com/spreadsheets/d/1UxqgL0b8fpuiMysQTTvjtJHTW13Bj4Ym_etIdKxKA18/edit?usp=sharing https://docs.google.com/spreadsheets/d/1UxqgL0b8fpuiMysQTTvjtJHTW13Bj4Ym_etIdKxKA18/edit?usp=sharing
 +
 +==== 反応速度測定用プログラム ====
 +<code c ext_response.pde>
 +// Tetsuaki Baba
 +// Processing のサンプルコード
 +// str_format: データ名をカンマ区切りで書いておく
 +PrintWriter output;
 +boolean flg_start = false;
 +String str_format = "time";
 +int count = 0;
 +float x, y;
 +int time_start;
 +
 +void setup() {
 +  pixelDensity(displayDensity());
 +  size(800, 600);
 +  x = random(25, width-25);
 +  y = random(25, height-25);
 +}
 +
 +void draw() {
 +  background(0);
 +  if ( flg_start == false ) {
 +    textSize(30);
 +    text("Press space key to start", width/2, height/2);
 +    return;
 +  }
 +  if ( time_start < millis() ) {
 +    text("Press 'j' key", width/2, height/2);
 +  }
 +}
 +
 +
 +void keyPressed() {
 +  if ( key == ' ' ) {
 +    flg_start  = !flg_start;
 +    time_start = millis()+(int)random(3000.0f, 10000.0f);
 +
 +
 +    count = 0;
 +
 +    if ( flg_start == true ) {
 +      String filename = nf(year(), 4) + nf(month(), 2) + nf(day(), 2) + nf(hour(), 2) + nf(minute(), 2) ;
 +      output = createWriter( filename + ".csv"); 
 +      output.println( str_format );
 +    }
 +  }
 +  if ( key == 'j' && time_start < millis() ) {
 +    output.print(str(millis()-time_start)+"\n");
 +    time_start = millis()+(int)random(3000.0f, 10000.0f);
 +    count = count + 1;
 +    if ( count == 10 ) {
 +      flg_start = false;
 +      output.flush(); 
 +      output.close();
 +    }
 +  }
 +}
 +</code>
 +
 +==== 計測データをグラフにしてみる ====
 +Google SpreadSheetに集まったデータをグラフにしてみました.各グラフバーにくっついているのは標準偏差のことを指しています.
 +{{:lecture:pasted:20180626-154853.png}}
 +
 +上記エクセルグラフを含むデータ:{{ :lecture:基礎ゼミ2018ポインティング速度データ.xlsx |}}
 +
 +==== TeXを使ってレポートを書く ====
 +  * https://cloudlatex.io
 +
 +  * {{ :lecture:馬場1回目.pdf |}}
 +  * {{ :lecture:馬場2回目.pdf |}}
 +
 +==== 反応速度データ ====
 +  * https://docs.google.com/spreadsheets/d/1M-5GH2hGaNlgjrEVTLHy_J-IeSRr1wk8lOfOmiPPdgE/edit?usp=sharing
 +===== 最終課題内容 =====
 +
 +==== 概要 ====
 +**開発したデバイス**を利用して,**パラメータの変更**により,**どの程度ポインティング時間が変化するか**を実験から論じる.
 +ただし,既存デバイスとの比較はしなくともよいが,余裕があればしてもよい.
 +==== 開発したデバイスとは? ====
 +授業の中でArduino Microを利用し,マウスポインタを作成しました.マウスポインタの移動には加速度センサの値を利用しました.
 +「上記例を応用した,よりポインティング作業が早くなるプログラムサンプル」を再び利用して,arduinoをマウスに一度変更
 +します.
 +
 +==== パラメータの変更とは?====
 +対象となるプログラムの中で,
 +  Mouse.move((505-x)/5, (y-509)/5, 0);
 +と記述された行がありますが,これはx,y軸のそれぞれの移動量を傾き具合によって変化させるコードになっています.
 +ただしこの場合の505,509といった数値はデバイスを水平に保ったときの値を指しており,みなさんのデバイス上では
 +微妙に値がことなるので注意してください.ここでいうところのパラメータとはそれぞれの移動量パラメータのことを
 +さしています.
 +
 +例えばサンプルコードをなるべく変更せずにマウスの移動速度を変化させる場合は,
 +  (505-x)/a, (y-509)/a
 +のaを更に具体的になパラメータとして,a=1, a=2, a=3, a=4, a=5等の場合でユーザのポインティング速度がどれだけ
 +変化するかを実験することで,マウスの移動速度とポインティング速度の関係性を明らかにできるようになります.
 +
 +またこの他にもここで紹介した計算式以外でポインティング移動量をパラメータとして実験していただいても
 +構いません.
 +
 +==== どの程度ポインティング時間が変化するか,とは? ====
 +上記で説明した実験手順で例えばa=5とa=10を実験したとします.このときにa=5の場合,ポインティング時間は平均800[ms]程度,
 +一方a=10のときは1,200[ms]程度だったとします.この場合,a=5のほうがポインティング時間短縮という意味では優れているわけですが,a=6のとき,700[ms]だった場合,a=7 - a=9 の値も調べ,どのあたりからポインティング時間が**移動速度が増加しているのにもかかわらず,増大しているのか**を議論すると,研究としての再現性及び有用性が高まります.
 +
 +==== 添削用論文の提出 ====
 +  * 締切:7月24日 17:00 迄
 +  * 方法:kibacoの最終課題ページから論文を添付送信します.
 +  * 提出フォーマット:PDFファイル(枚数の目安としては,2-6枚程度です.実験した内容や検討した事項により文章は大きく増減しますので,あまり枚数は気にせず,必要な情報を載せ,必要な議論を論じることに集中してください.)
 +  
 +<WRAP center round important 60%>
 +添削された論文はkibacoで利用している各自メールアドレス宛に届きます.なので,ed.tmu.ac.jp のメールチェックを忘れないようにお願いいたします.
 +</WRAP>
 +
 +==== FAQ ====
 +  * 質問:Arduinoにマウス/キーボードプログラムを書き込みしたところ,プログラムミスで,マウス/キーボードで制御不能なふるまいになってしまい,別のプログラムを記述することが困難になりました.
 +    * 答え:https://qiita.com/enkatsu/items/107b9308889117076fac を参考してください.リセットボタンを二度押し,その間に別プログラムを書き込みます.
 +
 +==== texの参考資料 ====
 +  * Cloud Latexの使い方(馬場が簡単に解説しました):https://youtu.be/DdxqxAO2_WU
 +    * <html><iframe width="560" height="315" src="https://www.youtube.com/embed/DdxqxAO2_WU" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe></html>
 +  * 数式の書き方:http://www.latex-cmd.com/equation/equation.html
 +  * 図表の入れ方:http://www.latex-cmd.com/index.html#fig_tab
  • /home/users/2/lolipop.jp-4404d470cd64c603/web/ws/data/pages/lecture/基礎ゼミナール.txt
  • 最終更新: 2018/07/25 16:09
  • by baba