___________________________________________________________________________________________________________________ *TANGRAMS DEMO SCRIPT* ___________________________________________________________________________________________________________________ Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com) for Millisecond Software, LLC Date: 08-25-2016 last updated: 10-20-2023 by K. Borchert (katjab@millisecond.com) for Millisecond Software, LLC Script Copyright © 10-20-2023 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 OUTPUT DICTIONARY ___________________________________________________________________________________________________________________ The fields 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 correctRotation1ItemNumber: 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 sdRT: standard deviation (in ms) of the latencies of correctly solving a Tangram tangram1Correct: 1 = tangram 1 was correctly solved; 0 = otherwise tangram1Duration: duration (in ms) of tangram1 solution (same for all 6 tangrams) ___________________________________________________________________________________________________________________ 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: /maxDeviationTolerance: 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.