使用Psychtoolbox Matlab绘制具有不同角度的矩形

时间:2013-06-07 19:54:41

标签: matlab random psychtoolbox

我正在绘制4个随机旋转的矩形。他们的天使似乎是随机的,但是我需要它们有点不同。矩形不应该彼此靠近,它们应该至少相隔10度。这也应该是随机的。我怎么定义这个?谢谢!

rot_angle1=randi(360); 
rot_angle2=randi(360); 
rot_angle3=randi(360); 
rot_angle4=randi(360); 
rect_array=255*ones(1,1);
t1=Screen('MakeTexture',w,rect_array);
t2=Screen('MakeTexture',w,rect_array);
t3=Screen('MakeTexture',w,rect_array);
t4=Screen('MakeTexture',w,rect_array);
t5=Screen('MakeTexture',w,rect_array);

destrect(1,:) = (ul_c + stim_array);
destrect(2,:) = (ur_c + stim_array);
destrect(3,:) = (ll_c + stim_array);
destrect(4,:) = (lr_c + stim_array);

Screen('DrawTexture',w,t2,[],destrect(1,:),rot_angle1);
Screen('DrawTexture',w,t3,[],destrect(2,:),rot_angle2);
Screen('DrawTexture',w,t4,[],destrect(3,:),rot_angle3);
Screen('DrawTexture',w,t5,[],destrect(4,:),rot_angle4);
Screen('Flip',w);

1 个答案:

答案 0 :(得分:0)

代替rot_angle1=randi(360);行,定义

rot_angle=randi(36,1,4)*10;

现在每个角度至少相隔10度,步长为10度。请注意,这并不意味着角度将是唯一的。使用randi,两个旋转角度可能相同。为了强制使用单一性

rot_angle=randperm(36)*10;

使用rot_angle(1)代替rot_angle1

相关问题