Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com), Millisecond
Created: January 25, 2016
Last Modified: January 20, 2023 by K. Borchert (katjab@millisecond.com), Millisecond
Script Copyright © Millisecond Software, LLC
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.
15 minutes
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.
• 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
( 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)
6 tangrams and 5 different shapes are provided by Millisecond (www.abcya.com/tangrams.htm)-
if different tangrams are used, the lists for each tangram as well as the
algorithm for correct responses need to be adapted accordingly.
provided by Millisecond - see section Editable Instructions
File Name: tangrams_summary*.iqdat
| Name | Description |
|---|---|
| inquisit.version | Inquisit version number |
| computer.platform | Device platform: win | mac |ios | android |
| startDate | Date the session was run |
| startTime | Time the session was run |
| subjectId | Participant ID |
| groupId | Group number |
| sessionId | Session number |
| elapsedTime | Session duration in ms |
| completed | 0 = Test was not completed 1 = Test was completed |
| 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) |
File Name: tangrams_raw*.iqdat
| Name | Description |
|---|---|
| build | Inquisit version number |
| computer.platform | Device platform: win | mac |ios | android |
| date | Date the session was run |
| time | Time the session was run |
| subject | Participant ID |
| group | Group number |
| session | Session number |
| blockCode | Name of the current block |
| blockNum | Number of the current block |
| trialCode | Name of the current trial |
| trialNum | Number of the current trial |
| 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 !!! 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 !! 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) !!! 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 ! 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 ( 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) |
The procedure can be adjusted by setting the following parameters.
| Name | Description | Default |
|---|---|---|
| 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) '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. |