% Clear the workspace and the screen sca; close all; clear; % Here we call some default settings for setting up Psychtoolbox PsychDefaultSetup(2); % Get the screen numbers screens = Screen('Screens'); % Draw to the external screen if avaliable screenNumber = max(screens); % Define black and white white = WhiteIndex(screenNumber); black = BlackIndex(screenNumber); % Open an on screen window [window, windowRect] = PsychImaging('OpenWindow', screenNumber, black); % Get the size of the on screen window [screenXpixels, screenYpixels] = Screen('WindowSize', window); % Set the blend funciton for the screen Screen('BlendFunction', window, 'GL_SRC_ALPHA', 'GL_ONE_MINUS_SRC_ALPHA'); % Get the centre coordinate of the window [xCenter, yCenter] = RectCenter(windowRect); % Number of sides for our polygon numSides = 7; % Angles at which our polygon vertices endpoints will be. We start at zero % and then equally space vertex endpoints around the edge of a circle. The % polygon is then defined by sequentially joining these end points. anglesDeg = linspace(0, 360, numSides + 1); anglesRad = anglesDeg * (pi / 180); radius = 200; % X and Y coordinates of the points defining out polygon, centred on the % centre of the screen yPosVector = sin(anglesRad) .* radius + yCenter; xPosVector = cos(anglesRad) .* radius + xCenter; % Set the color of the rect to red rectColor = [1 0 0]; % Cue to tell PTB that the polygon is convex (concave polygons require much % more processing) isConvex = 1; % Draw the rect to the screen Screen('FillPoly', window, rectColor, [xPosVector; yPosVector]', isConvex); % Flip to the screen Screen('Flip', window); % Wait for a key press KbStrokeWait; % Clear the screen sca;