User Manual: Inquisit Tangrams Puzzle Task


___________________________________________________________________________________________________________________	

										*TANGRAMS DEMO SCRIPT*
___________________________________________________________________________________________________________________

Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com) for Millisecond Software, LLC
Date: 08-25-2016
last updated:  03-02-2022 by K. Borchert (katjab@millisecond.com) for Millisecond Software, LLC

Script Copyright © 03-02-2022 Millisecond Software

___________________________________________________________________________________________________________________
BACKGROUND INFO 	
___________________________________________________________________________________________________________________	
This script implements a Tangram script inspired by:
www.abcya.com/tangrams.htm

Tangram =  a puzzle consisting of seven simple 2D geometric shapes (called tans). 
The goal is to use all 7 pieces to form a more complex 2D shape.

___________________________________________________________________________________________________________________
TASK DESCRIPTION	
___________________________________________________________________________________________________________________	

Participants are given 7 individual geometric shapes and are asked to use them to create 6 complex figures. 
Shapes can be moved via drag and drop. Once a shape is moved, it moves into "rotation mode" and can be rotated via 
a rotation console that is located at the bottom right of the screen. During "rotation mode", no drag and drop 
can happen.
The rotation mode is exited via a click anywhere on the canvas (with exceptions of the rotation arrows).
By default, the task is self-paced.

___________________________________________________________________________________________________________________	
DURATION 
___________________________________________________________________________________________________________________	
the default set-up of the script takes appr. 15 minutes to complete

___________________________________________________________________________________________________________________	
DATA FILE INFORMATION 
___________________________________________________________________________________________________________________	 
The default data stored in the data files are:

(1) Raw data file: 'tangrams_raw*.iqdat' (a separate file for each participant)*

build:							The specific Inquisit version used (the 'build') that was run
computer.platform:				the platform the script was run on (win/mac/ios/android)
date, time: 					date and time script was run 
subject, group: 				with the current subject/groupnumber
session:						with the current session id

blockcode, blocknum:			the name and number of the current block (built-in Inquisit variable)
trialcode, trialnum: 			the name and number of the currently recorded trial (built-in Inquisit variable)
									Note: trialnum is a built-in Inquisit variable; it counts all trials run; even those
									that do not store data to the data file such as feedback trials. Thus, trialnum 
									may not reflect the number of main trials run per block.
										
practice:						1 = practice trial; 0 = test trial
countTangrams:					counts the number of Tangram test problems presented

selectAngle:					stores the rotation angle of the currently presented test tangram	
								(1 = 0°, 2 = 45°, 3 = 90°, 4 = 135°, 5 = 180°, 6 = 225°, 7 = 270°, 8 = 315°)
								
responseSelection:				trial.evaluateTamgram: stores 'submit' once the submit button was pressed

sumRT:							latency (in ms) of each tangram solution attempt. 
								Measured from onset of tangram to pressing of "submit" button
								
ACC:							1 = all 7 shapes were correctly placed; 0 = otherwise
								!!!NOTE: the algorithm determineCorrectResponses may not work correctly if 
								different tangrams are used.
								
correctPlacements: 				number of correct placements (Max = 7); 
								correct placement = orientation of shape is correct AND 
								its center is within paramters.max_deviationTolerance (default: 5%) of the correct center coordinates
								!!NOTE: the algorithm determineCorrectResponses may not work correctly 
								if different tangrams are used.
correct1-
correct7:						1 = shape was correctly placed on tangram; 0 = otherwise (for each of the 7 shapes)
								!!!NOTE: the algorithm determineCorrectResponses may not work correctly 
								if different tangrams are used.

for shapes 1-7: 				shape 1/2: big, red triangles
								shape 3/4: small, yellow triangles
								shape 5: purple diamond
								shape 6: green triangle
								shape 7: orange parallelogram

!Note: please keep in mind that shape1/2 and shape3/4 are interchangeable.
Furthermore, for some configurations alternative angles (not stored in the datafile) for several shapes can be correct as well,
these alternative 

correctRotation1_itemnumber:	the correct  angle number stored for the rotated stimuli for shape 1-7 
								(1 = 0°, 2 = 45°, 3 = 90°, 4 = 135°, 5 = 180°, 6 = 225°, 7 = 270°, 8 = 315°)
								
select1:						the selected itemnumber of the rotated stimuli for shape 1-7 
correctX1:						the correct horizontal percentage coordinates for shapes 1-7  
correctY1:						the correct vertical percentage coordinates for shapes 1-7 
finalX1:						the final horizonal percentage coordinates for shapes 1-7 (Note: if shape was NOT moved, the pixel converted percentages are off) 
finalY1:						the final vertical percentage coordinates for shapes 1-7 (Note; if shape was NOT moved, the pixel converted percentages are off)
(same for remaining shapes)

									
(2) Summary data file: 'tangrams_summary*.iqdat' (a separate file for each participant)*

inquisit.version:				Inquisit version run
computer.platform:				the platform the script was run on (win/mac/ios/android)
startDate:						date script was run
startTime:						time script was started
subjectid:						assigned subject id number
groupid:						assigned group id number
sessionid:						assigned session id number
elapsedTime:					time it took to run script (in ms); measured from onset to offset of script
completed:						0 = script was not completed (prematurely aborted); 
								1 = script was completed (all conditions run)	
									
nrCorrect:						number of correctly solved Tangrams
propCorrect:					proportion correctly solved Tangrams 
meanRT:							mean latency (in ms) of correctly solving a Tangram
SD_RT:							standard deviation (in ms) of the latencies of correctly solving a Tangram
tangram1_correct:				1 = tangram 1 was correctly solved; 0 = otherwise
tangram1_duration:				duration (in ms) of tangram1 solution
(same for all 6 tangrams)


* separate data files: to change to one data file for all participants (on Inquisit Lab only), go to section
"DATA" and follow further instructions

___________________________________________________________________________________________________________________	
EXPERIMENTAL SET-UP 
___________________________________________________________________________________________________________________

* 1 practice tangram
* 6 tangrams are presented in predetermined order 
(by default - order can be randomized/changed -> list.tangramPresentationOrder)
* the 7 shapes are presented in the same screen positions but with a randomly determined rotation angle 
(Note: start angle can be edited under list.selectStartitemnumber)
* no time limit for solution (self-paced)
* participants can either move the individual shapes around or rotate them in a 2D plane by 
45degrees using a provided 
"Rotation Console" on the lower right of the screen
* solution is submitted by clicking on a "submit" button

Algorithm to determine correct placement of shapes:
- the algorithm to determine the correct placement of shapes assumes that 
the provided shapes are being used -  it might not function properly with
a different assortment of tangrams nor a different assortment of simple shapes
- it compares the final rotated angle of each shape with all possible correct
rotations for this particular shape and then (if a match is found) 
- checks whether the  final shape coordinates are within the tolerated distance of the correct 
coordinates for this particular rotation.
(algorithm doesn't check placement if the shape is not rotated to the/any correct angle)
- for identical shapes it is also checked if the shapes occupy different
areas of the tangram figure (as they cannot sit on top of each other) 

___________________________________________________________________________________________________________________	
STIMULI
___________________________________________________________________________________________________________________
6 tangrams and 5 different shapes are provided by Millisecond Software (www.abcya.com/tangrams.htm)-
Note: if different tangrams are used, the lists for each tangram as well as the 
algorithm for correct responses need to be adapted accordingly.

___________________________________________________________________________________________________________________	
INSTRUCTIONS 
___________________________________________________________________________________________________________________	
provided by Millisecond Software - see section Editable Instructions

___________________________________________________________________________________________________________________	
EDITABLE CODE 
___________________________________________________________________________________________________________________	
check below for (relatively) easily editable parameters, stimuli, instructions etc. 
Keep in mind that you can use this script as a template and therefore always "mess" with the entire code 
to further customize your experiment.

The parameters you can change are:

/max_deviationTolerance:	the acceptable percentage difference between the correct placement of the images and the final placement of images (=center of image)
							to still be evaluated as correct (if the shape is correctly rotated)
							Note: 'correct' placement coordinates were determined by manually clicking on the centers of the 
							correctly positioned shapes and recording the corresponding percentage coordinates in the data file.