Introduction
Mental rotation is imagining what a stimulus would look like if it would be rotated.
Mental rotation tasks are difficult. In these tasks, you might see three stimuli like in the example figure. The top one is the one that matches only one shown at the bottom. But the matching stimulus is rotated. The participant has to mentally rotate (i.e., imagine what something looks like when it is rotated) one or both stimuli (people can figure out their own strategy, there are multiple strategies possible).
Mental rotation time is defined as the time it takes someone to find out if a stimulus matches another stimulus through mental rotation. It is a well established fact that men and women perform differently on this task.
In this demonstration, we are going to rotate 2 dimensional (2D) stimuli. 2D stimuli are those without depth. Rotating stimuli with depth (3D) is more difficult than rotating 2D stimuli.
About this implementation

In the above screen shot, you see three two-dimensional stimuli. For this demo, we use 2D stimuli (in part because they are easier to create).
If you wish, you can get 3D datasets online. |
The grey stimulus at the top is the one you need to match with one of the red ones. In order to match the grey stimulus, you need to imagine what it looks like when it is rotated. In this example, the right one matches, and thus needs to be clicked (as indicated by the little grey mouse cursor).
In the following demonstration, you will need to find out which two object match each other. You can only do that if you mentally rotate the objects and see which ones match. In this example, the stimuli are 2 dimensional, or 2D. In psychology, the most common mental rotation experiments have stimuli with depth, that is 3D.
-
Note, you can show your response times and copy and paste them to a local file for your own data analysis.
Run the demo
Data output file
In PsyToolkit, the data output file is simply a textfile. The save line of the PsyToolkit experiment script determines what is being saved in the data output file. Typically, for each experimental trial, you would have exactly one line in your text file, and each number/word on that line gives you the information you need for your data analysis, such as the condition, response speed, and whether an error was made. |
Meaning of the columns in the output datafile. You need this information for your data analysis.
Colum | Meaning |
---|---|
1 |
blockname |
2 |
table row number (that way you can look up exactly which stimulus was presented) |
3 |
location of the correct image (0=left,1=right) |
4 |
the response time (ms) |
5 |
status (1=correct, 2=error, 3=too slow) |
PsyToolkit code
Click to expand the PsyToolkit script code (part of zip file below)
options
window
mouse on
escape
bitmapdir stimuli
bitmaps
instructions
instruction2
correct
incorrect
training
readyforreal
thatwasit
# now the actual stimuli
target1
target2
target3
target4
target5
target6
target7
target8
target9
target10
target11
target12
target13
target14
target15
correct1
correct2
correct3
correct4
correct5
correct6
correct7
correct8
correct9
correct10
correct11
correct12
correct13
correct14
correct15
wrong1
wrong2
wrong3
wrong4
wrong5
wrong6
wrong7
wrong8
wrong9
wrong10
wrong11
wrong12
wrong13
wrong14
wrong15
fonts
arial 20
# the table contains the objects of each trial. But the exact
# positioning of the screen is determined randomly in the task itself
table rotationtable
target1 correct1 wrong1
target2 correct2 wrong2
target3 correct3 wrong3
target4 correct4 wrong4
target5 correct5 wrong5
target6 correct6 wrong6
target7 correct7 wrong7
target8 correct8 wrong8
target9 correct9 wrong9
target10 correct10 wrong10
target11 correct11 wrong11
target12 correct12 wrong12
target13 correct13 wrong13
target14 correct14 wrong14
target15 correct15 wrong15
task rotate
table rotationtable
# the next line is part of randomizing where the correct object
# will be
set $x random 0 1 # will the correct one be left (0) or right (1)
draw off
show bitmap @1 0 -150
if $x == 0 # if left, then show the correct one left
show bitmap @2 -250 150
show bitmap @3 250 150
fi
if $x == 1 # if left, then show the correct one right
show bitmap @2 250 150
show bitmap @3 -250 150
fi
show bitmap instruction2 300 -200
draw on # show all bitmaps at the same time
readmouse l 2 20000
if STATUS == CORRECT
show bitmap correct 0 200
fi
if STATUS != CORRECT
show bitmap incorrect 0 200
fi
delay 2000
clear 1 2 3 4 5
save BLOCKNAME TABLEROW $x RT STATUS
message instructions
message training
block training
tasklist
rotate 5 fixed
end
message readyforreal
block test
tasklist
rotate 10 fixed
end
feedback
text align left
set &PercCorrect perc ; select c5 == 1
set &RTCorrect mean c4 ; select c5 == 1
text -200 -100 &PercCorrect ; prefix "Percentage correct (in second block): "
text -200 0 &RTCorrect ; prefix "Average time per puzzle: "
text -200 100 "Press space to continue."
end
Download
If you have a PsyToolkit account, you can upload the zipfile directly to your PsyToolkit account. Watch a video on how to do that. If you want to upload the zipfile into your PsyToolkit account, make sure the file is not automatically uncompressed (some browsers, especially Mac Safari, by default uncompress zip files). Read here how to easily deal with this. |
Further reading
Shephard, R.N. and Metzler, J. (1971). Mental Rotation of Three-Dimensional Objects. Science, 171, 701-703.
Collins, D.W. and Kimura, D. (1997). A Large Sex Difference on a Two-Dimensional Mental Rotation Task. Behavioral Neuroscience, 111, 845-849.