満喫してきた、大阪・京都

先週の金曜、土曜、日曜日に大阪はUSJと京都は嵐山を中心に回ってきました。
僕の旅行は一人旅が多いのですが、友達と一緒に行ってまいりました。
USJには金曜日に行ったのでほとんどのアトラクションが30分前後待ちで乗ることができました。
快調だったUSJとは一転、土曜に行った嵐山は紅葉シーズン真っ只中ということで結構混んでました。
特に嵯峨野の竹林あたりは人だらけで、人力車で行く人は大変恥ずかしそうにしていました笑
あと、嵐山のあとには、平安神宮付近にてお茶体験をしてまいりました。
お茶を点てるという最も日本らしい行為の一つと言っても過言ではありませんが、生まれて初めての体験でした。
ちなみに、今回行った場所は平安神宮の西側にある細見美術館の一角にある古香庵というところで体験してきました。
先生は、やさしくて男3人のムサい僕らにも気さくな感じで教えてくれました。
京都には結構お茶体験をできるところが多くあると思いますが、割と市場からも近いですし穴場なんじゃなかろうかと思いました。
そんな感じで2日間を過ごし、最後の日曜日の朝にホテルをチャックアウトしようとしたらここでハプニング!
なんと、鼻血がでました!
しかも、延々と4,50分止まらず…笑
こんなこともありましたけれど最後には通天閣見て帰ってまいりました。

写真の一部はFlickerにアップしましたのでよろしければどうぞ。
http://www.flickr.com/photos/55363099@N03/

線形補間

今日はこのブログでは初になりますがソースコードを書いてみたいと思います。
ちょっと前置きを書きますが、そんなもの読みたくねぇよって方はいきなりソースコードに移ってください。

現在、大学院でディスプレイの研究をしています。
ディスプレイに表示されている色は数値で言うとデジタルで表され、多くのディスプレイは一色8bit(0〜255階調レベル)×3原色(赤、緑、青)の組合せで色を作っています。
最近では、一色10bit(0〜1023階調レベル)のものや原色数が3つより多い多原色ディスプレイなどもあって色の数は増えています。
この辺の話も大変面白いのでいつか取り上げたいと思いますが、今日は8bitで3原色のディスプレイを対象にしたいと思います。

ディスプレイの研究をしているということで、色を測定することが多くあります。
その中でもよくあるのがディスプレイの特性として0〜255階調の色を表示した時の各々の出力値の測定。
これは簡単に言ったら入出力特性とでもいうのでしょうかね。
真面目に256色を測定すればいい話なのですが、大変なので4階調ごと(0、4、8、…、255階調レベル)に測定したりします。
そして、そのあと測定していない階調(1、2、3、5、…、254階調レベル)を補間します。
補間の方法にはいろいろあって、一番簡単なのが線形補間です。
線形補間についてはwikipediaを見ていただいた方が分かりやすいと思うので、ここではソースだけを書きます。
ちなみに僕の場合、横軸が階調値、縦軸がXYZ三刺激値という出力値になるため9本のグラフになりますが、より一般化するためにソースコードでは1本のグラフでだけにします。


用意するデータ
出力値が一列に書かれたテキスト

8ステップ間隔の値を1ステップ間隔に線形補間する


import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.StringTokenizer;

public class SampleLinearInterpolate {

String inFile = "sampleTokusei.txt";//補間していない出力値が書かれたテキストの名前
double[] noInterpolated = new double[33];//テキストから読み取った値(補間前)

public static void main(String[] args) {
new SampleLinearInterpolate();
}
public SampleLinearInterpolate() {
read();//入力値をテキストから読み込みます
interpolate();//線形補間する
}

private void interpolate() {
int step = 8;//8階調ごとの出力値のデータを持っているため
double[] interpolated = new double[256];
System.out.println("X軸(階調レベル)"+"\t"+"Y軸(出力値)");
for(int i = 0; i < noInterpolated.length-2; i++){
double variation = (noInterpolated[i+1] - noInterpolated[i])/(double)step;//各区間ごとの変化量(傾き)
for(int j = 0; j < step; j++){
interpolated[i*step+j] = noInterpolated[i] + variation * (double)j;
System.out.println(i*step+j +"\t"+ interpolated[i*step+j]);
}
}
double variation = (noInterpolated[noInterpolated.length-1] - noInterpolated[noInterpolated.length-2]) / (step - 1);
for(int i = 0; i < step; i++){
interpolated[interpolated.length-step+i] = noInterpolated[noInterpolated.length-2] + variation * i;
}

for(int i = 0; i < interpolated.length; i++){
System.out.println(i +"\t"+ interpolated[i]);
}
}

private void read() {
try {
BufferedReader br = new BufferedReader(new FileReader(new File(inFile)));
int i = 0;
while(br.ready()){
StringTokenizer st = new StringTokenizer(br.readLine(), "\t\n,");
noInterpolated[i] = Double.parseDouble(st.nextToken());
i++;
}
} catch (IOException e) {
e.printStackTrace();
System.exit(-1);
}
}
}


実は今回は第三者(後輩)にノウハウを伝授する練習として一般化して書いてみました。
しかし、できるだけ本筋以外はシンプルに書きたいという願望もプログラミングスキルが足らないためか納得いくようには書けませんでした。
おそらく、デザインパターンを学ばれている中級以上の方々にとってはツッコミどころのたくさんあるソースだと思います。
ぜひぜひそういう点は突っ込んでいただきたいと思ってすのでよろしくお願いします。
個人的にもデザインパターンを体系的に学ぶ時期かなとは考えております。

そんな感じでソースを公開してみました。
ご自由にソースを利用していただいて構いませんが、利用したことによって生じた事故に責任はとれませんので自己責任でご利用ください。

ノート術 −実践編−

少し前の記事では今までの問題点について書きました。
今回は、その問題を解決するにはどうしたらいいのか、あと少し実践した感想も書きます。


まず、前回出た大きな問題点とはノートにメモをとるハードルが高いということでした。
そこで僕が考えた3つのこと。


①持ち歩けるときは持ち歩く
これは小さなメモ帳を持たない代わりにノートにすべてをまとめたので研究室、自宅、カフェなどカバンを持っていくシチュエーションでは携帯するようにしました。
あとは、持ち歩きたいと思えるような少し高級(といっても学生でお金がありませんので…)のものを使用する。
サイズは携帯のしやすさを考えるとB5よりも小さいことが望ましいけれど、A4を半分に折ったプリントが挟めるようにB5がベストかなと。


②ノートはルーズリーフを使う
今までは机がないところでも書けると思いリングノートを愛用していましたが、実際にはそういう場面は少なかったためこだわりをなくしました。
それよりも分類や整理ということを考えてルーズリーフにしました。
ノートの場合、プライベート用と研究用を分けるだけで2冊になってしまいます。
一冊でどうにかしようとすると中がぐちゃぐちゃになりあまり見返したいとも思えません。
それならばあとから挿入などもできるし、分類も楽なルーズりーづを使おうかなと。
あと、ノージャンルのコーナーを作るのもありかなと。


③付箋を使う
いろいろ工夫をしても小さいころからの記憶でどうしてもノートはきれいにあるべきという考えが離れない場合、この方法が有効です。
やり方は単純ですが、ノートにまとめるというよりメモしておきたいという場合、ノート一面を使うのはもったいなく思ってしまうのですがメモをとりそれをどんどん追加していくことで解決できます。気軽に感じたことやその日行った場所の感想なんかも書いていけばちょっとしたライフログにもなります。
付箋はルーズリーフを挟んでいるファイルの表紙の裏とかに数枚貼っておくと便利です。


以下、感想
やり始めて2週間くらいたったでしょうか。
特に感じることは本の感想も読み終わった後ではなく、読んでる途中に付箋使ってどんどん貼っていくのでいろいろと考えるようになりました。
読むスピードは少し遅くなってしまいますが、よく考えながら読めているということなのでいいことだと思います。
あとは、研究のアイデアを練る時にも使っているのですが論文などから撮ってきた図を張り付けそこにコメントを書き込むことなんかもしてます。


あとこの記事は下の本を参考に書きました。


ノート術 −問題発掘編−

最近、読書をしたり論文を読んだりすることが多くなってインプットはそこそこ出来てると思うのですが、その知識を生かせているかどうかって言われると疑問でした。
という思いで少しノートでも取ってみようかと思って考えました。


まず、現状ですが本を読んだら読みっぱなしで何もメモやら書評を書くって事はなかった。
つまりアウトプットは記憶に頼るというものだったのです。
論文の場合はもう少しマシですがプリントミスした紙の裏(裏紙)を使ってました。
だから書くことは書くけど整理されておらず、一定期間保存すると見返すこともなく捨ててしまう状態でした。


これはもったいないと思いません?
(他人事のように書いてますが笑)


ノートに記録を残す上で障害となってくるのは、自分の中にあるノートのあるべき姿
このノートにあるべき姿とは、ノートはきれいに書かなければいけないと思ってしまうこと。
これによってちょっとしたことやうまくまとまってないことは書く気になれない。→書くハードルが高い。
もちろんきれいに越したことはないけど、考えがまとまってるものは割と記憶から削除されないし、それよりはブラッシュアップする必要のあるアイデア(ダイヤの原石!?)を忘れてはいけない・メモを取るべきだと思うんです。


そこで一つ。
ノートを書くハードルが低くなるように工夫する


次の記事ではどうやって工夫するのかを書いてみます。


追記
ノート術 −実践編−書きました。

新作???

いつも通りTwitterに常駐してたら、水曜どうでしょうに関するツイートが!!

そう4年ぶりの新作を撮るために公式HPの「本日の日記」で旅に出ますと。
↓↓↓↓↓↓↓↓↓↓↓↓↓↓
水曜どうでしょう公式ホームページ

それを聞いた日はもう嬉しくてたまらなかったですね。

気になる撮影地はどこでしょう。

時期的にいえばブンブンでしょうか?

アラスカなんて声も聞こえますがオーロラは見えるのか少々疑問。

期間が一週間ほどだったのでおそらく海外でしょう。
(もう日本で撮影なんてなったらパニックでしょうし)

あとは、ミスターさんの日記には、帰ってきたときに「まだ東京ですが…」とのコメントがあったので海外は99パーセント間違いなさそうです。



どこに行ったのか考えるのはすごく楽しいのですが、おそらく水曜どうでしょう藩士の皆さまならどこへ行ったということよりも4年ぶりにお顔を拝めたということのほうが重要になるんでしょうね。

最近、ドラマにピンでも(もともとコンビじゃないw)がんぱっているヤスケンこと安田さんも見たいところですが海外だとないんでしょうかね。

書いてたらまた興奮してきてまとまりのないエントリーになってしまいましたね。。。


結論は、早く新作見てぇってだけです。

透明人間

ふと面白いことを思いついた、というよりはくだらないこと。

世の男どもにとって夢のまた夢のお話である透明人間。

もし透明人間になれたら何しようと考えたことが一度は考えたことがあるかもしれないが、ちょっと待ってもらいたい。

他の人から透明人間がどのように見えているかを考えたことあるだろうか?

ガラスのように透明なのか?

いやいや、ガラスは透明でも目に見える。

それは空気とは光の透過率が違うから。

つまり、透明人間とは空気。











あれっ、俺って透明人間(=空気w)じゃね?