MATLABでSVVを測る(理論編)
視覚的垂直認知(SVV)を計測する簡単なプログラムについて,説明します。
SVVが何かはここでは語らないので,以下などを参考に。
SVVは視覚情報を減らすために暗室にて計測します。PC画面上に投影された直線の傾斜を操作し計測します。直線の傾きがちょうど垂直と感じたポイントと実際の傾きとの差が少ないほど垂直認知が優れていることを示します。
ここでは,MATLABを使用して,SVVを計測するプログラムを作成します。完成イメージは以下の図の通りです。黒色の背景に対して,傾きを加えた白色の直線を描画します。灰色の円は描画していない場合もあるとのことです。
傾きをつけた直線についてですが,原理的には下図の線分AA'を描くことが目標となります。
MATLABのplot関数では,点Aと点A'の座標を用いて線分AA'を描画できます。
plot([-X X], [-Y Y])
それでは,点A,点A'の座標を求めましょう。
sinθ = Y / 1 より,Y = sinθ
cosθ = X / 1 より,X = cosθ
よって,点A (X, Y) = (cosθ, sinθ)
i=45 % θ = 45º の時
figure
plot([-1*cosd(i) cosd(i)], [-1*sind(i) sind(i)])
axis square %X軸とY軸のスケールを合わせる
傾き45ºの直線を引くことができました。
図を見やすく加工し,今度は60ºの傾きの直線を引きましょう。
i = 60;
figure('menubar','none','Color',[0 0 0]) %図の背景を黒に
X=plot([-1*cosd(i) 1*cosd(i)],[-1*sind(i) 1*sind(i)],'w','LineWidth',3);
set(gca,'Color',[0 0 0],'XColor',[0 0 0],'YColor',[0 0 0]);
set(gca, 'Xlim', [-1.5 1.5],'Ylim', [-1.5 1.5]);
axis square %X軸とY軸のスケールを合わせる
傾きを加えた直線を引くことができました。
次回,キーボード操作によって傾きを制御できるように,プログラムを改変していきます。
私のNoteでは,リハビリテーションをよりよく,楽しめるようにライフハックの観点からちょっとした情報や私の意見を共有できればと思います。
この記事が気に入ったらサポートをしてみませんか?