De rorschachtest is een psychologische test die in 1921 geïntroduceerd werd door de Zwitserse psycholoog Hermann Rorschach. Bij de test wordt gebruikgemaakt van tien platen die elk bekomen werden door een inktvlek aan te brengen op één bladhelft, en die gespiegeld over te brengen op de andere bladhelft door het blad dubbel te plooien.
De test is gebaseerd op de menselijke neiging om interpretaties en gevoelens te projecteren op — in dit geval — inktvlekken. Daartoe proberen speciaal opgeleide psychologen aan de hand van de gegeven interpretaties de diepere persoonlijke karaktertrekken en impulsen van testpersonen te begrijpen.
Schrijf een programma dat gebruikt kan worden om platen te maken voor de rorschachtest. Hiertoe moet het programma een gegeven tekstpatroon — dat een inktvlek voorstelt — omvormen tot een patroon dat bestaat uit het oorspronkelijke patroon met daarnaast de gespiegelde versie van het patroon. Klik hier om te schakelen tussen een weergave van de linkerhelft van het patroon, en het volledige patroon waarbij de rechterhelft gevormd wordt als spiegelbeeld van de linkerhelft.
++...+..+++.
....++......
.+.#####+###
...#@#@#.#@#
.+.#####.##@
....+.+...##
.....+......
....+.....##
....+..+..#@
......###.##
+...++#@#.+.
....#####...
....#@#....+
++..###.+...
+.....+.....
Schrijf een functie rorschach waaraan de locatie (str) van een tekstbestand moet doorgegeven worden. Dit bestand moet een tekstpatroon bevatten dat bestaat uit een aantal regels die allemaal evenveel karakters bevatten. De functie moet ook nog een tweede optionele parameter hebben waaraan de locatie (str) van een tweede tekstbestand kan doorgegeven worden. Het omgevormde patroon dat bekomen wordt na spiegeling van het gegeven patroon moet door de functie naar dit tweede bestand weggeschreven worden. Indien aan de functie niet expliciet een tweede argument wordt doorgegeven, dan moet de functie het omgevormde patroon uitschrijven.
Bij onderstaande voorbeeldsessie gaan we ervan uit dat het tekstbestand patroon.txt1 zich in de huidige directory bevindt. Klik op de naam van de bestanden om het gegeven patroon en het omgevormde patroon te bekijken.
>>> rorschach('patroon.txt2')
++...+..+++..+++..+...++
....++............++....
.+.#####+######+#####.+.
...#@#@#.#@##@#.#@#@#...
.+.#####.##@@##.#####.+.
....+.+...####...+.+....
.....+............+.....
....+.....####.....+....
....+..+..#@@#..+..+....
......###.####.###......
+...++#@#.+..+.#@#++...+
....#####......#####....
....#@#....++....#@#....
++..###.+......+.###..++
+.....+..........+.....+
>>> rorschach('patroon.txt3', 'rorschach.txt4')
Pareidolia5 is een psychisch verschijnsel — een vorm van illusie waarbij iemand een zodanige interpretatie van onduidelijke of willekeurige waarnemingen heeft dat hij hierin herkenbare dingen meent waar te nemen. Je hebt het waarschijnlijk zelf al ervaren toen je gezichten of dieren hebt gezien in de wolken, of het mannetje in de maan, of toen je dacht dat je berichten hoorde in achterwaarts afgespeelde muziek. Dit fenomeen vormt de basis van de Rorschachtest6, waarbij iemand herkenbare patronen ziet in willekeurig gevormde inktvlekken.
Dit is een portret van Elizabeth II7 dat stond afgebeeld op een Canadees dollarbiljet uit 1954. Er waren zoveel mensen die dachten dat ze het gezicht van de duivel in het haar van de koningin konden herkennen dat het biljet uiteindelijk uit circulatie werd genomen. Er is echter helemaal niets te zien — het portret werd gemaakt op basis van een foto.