2015-04-29 4 views
1

Я хочу, чтобы нарисовать 4 квадрата, бок о бок, с использованием ПТБ для моего эксперимента, но код не работает .. Вот мой код,Draw shaps квадратов с использованием ПТБ

square_size = [0 0 50 50];    
squareXpos = [screenXpixels * 0.125 screenXpixels * 0.25 screenXpixels * 0.5 screenXpixels * 0.75]; 
numSqaures = length(squareXpos);     
allColors = [1 0 0; 0 1 0; 0 0 1; 1 0 0];      
allRects = nan(4, 4);      
for i = 1:numSqaures        
    allRects(:, i) = CenterRectOnPointd(square_size, squareXpos(i), yCenter);    
end        
Screen('FillRect', window, allColors, allRects);       
Screen('Flip', window);       
KbStrokeWait;      

Если кто-нибудь знает как я могу решить эту проблему, пожалуйста, помогите мне.

+1

Пожалуйста, добавьте текст ошибки, которую вы получаете – Bolza

ответ

0

Трудно сказать, не видя ошибки.

Если бы мне пришлось угадать, возможно, что-то не так с форматом входных данных.

Вот потенциальные проблемы, которые я заметил на первый взгляд.

  1. Psychtoolbox (в отличие от MATLAB) использует шкалу RGB от 0 - 255 вместо 0 - 1. С вашим кодом всех цветов будут отображаться как черные. Вместо [1,0,0] для красного используйте [255,0,0].

  2. Ваша матрица allColors является nItems X 3 (RGB), но функция хочет, чтобы она была противоположной. Вместо ввода allColors вам необходимо транспонировать: allColors '.

Если я борюсь с pscyhtoolbox, первое, что я всегда проверяю, это форматирование входов. Чтобы получить справку о соответствующем формате для ввода, введите:

Screen('FillRect?') 
Смежные вопросы