Keith Vetter : 2006-08-28 : Here's a visual puzzle: count the number of children in the picture then slide the scale to the other side to swap the top halves. Now how many children are there?
uniquename 2013aug17
Here is a sequence of 3 images showing why ligaments in brains are being sprained.
The first image shows the picture of children as they appear when the GUI first comes up.
You can switch the top-left portion of the picture with the top-right by sliding the 'scale' button from left to right --- as indicated by the second image.
The completed switch is shown in the 3rd image.
For those interested in the programming to move these images around, note that the 'WhereTo' proc, in the code below, is being used to move images 'vc1' and 'vc2'.
##+##########################################################################
#
# Vanishing Child
# by Keith Vetter, August 28, 2006
package require Tk
set S(title) "Vanishing Child"
set S(step) 0
set S(help) {
Count how many children are in the picture.
Then slide the scale to the other side to swap the top halves.
Now how many children are in the picture?}
proc Hint1 {w} {
#: Hints: number the childs
if {$::cb == 0} {.c delete "h"; return}
$w create text -280 -66 -text "1" -tag "h r"
$w create text -240 -20 -text "2" -tag "h"
$w create text -200 -1 -text "3" -tag "h"
$w create text -140 -40 -text "4" -tag "h"
$w create text -90 -10 -text "5" -tag "h"
$w create text -45 -70 -text "6" -tag "h r"
$w create text 5 -25 -text "7" -tag "h"
$w create text 45 -10 -text "8" -tag "h"
$w create text 115 -60 -text "9" -tag "h"
$w create text 150 -10 -text "10" -tag "h"
$w create text 210 -66 -text "11" -tag "h r"
$w create text 245 -38 -text "12" -tag "h"
$w create text 290 -10 -text "13" -tag "h"
$w create text -25 100 -text "14" -tag "h"
$w create text 195 95 -text "15" -tag "h"
.c itemconfig "r" -fill red
}
proc DoDisplay {} {
global P S
wm title . $S(title)
canvas .c -width 750 -height 420 -bd 2 -relief ridge -bg green4
ShadedText .c 0 -120 deepskyblue black \
-font {Times 42 bold} -anchor s -tag title -text $S(title)
bind .c <Configure> {ReCenter %W %h %w}
CreateImages
.c create image $P(vc,x) $P(vc,y) -image ::img::vc -tag vc -anchor nw
foreach {x0 y0 x1 y1} [.c bbox vc] break
.c create rect $x0 $y0 [incr x1 -1] [incr y1 -1] -outline black
.c create image $P(vc1,x1) $P(vc1,y1) -image ::img::vc1 -tag vc1 -anchor nw
.c create image $P(vc2,x1) $P(vc2,y1) -image ::img::vc2 -tag vc2 -anchor nw
frame .bottom
scale .sc -from 0 -to 100 -orient h -variable S(step) \
-command WhereTo -showvalue 0
button .? -text "?" -command About
#causes 'expected integer but got "bold"' error on *nix systems.
#.? config -font "[.? cget -font] bold"
checkbutton .cb -text "!" -command [list Hint1 .c]
#causes 'expected integer but got "bold"' error on *nix systems.
#.cb config -font "[.cb cget -font] bold"
pack .bottom -side bottom -fill x -expand 1
pack .sc -in .bottom -side left -expand 1 -pady 10
place .? -in .bottom -relx .99 -rely .5 -anchor e
place .cb -in .bottom -relx .01 -rely .5 -anchor w
pack .c -fill both -expand 1 -side top
}
proc ReCenter {W h w} { ;# Called by configure event
set h2 [expr {$h / 2}] ; set w2 [expr {$w / 2}]
$W config -scrollregion [list -$w2 -$h2 $w2 $h2]
}
proc CreateImages {} {
global P S
image create photo ::img::vc1
image create photo ::img::vc2
::img::vc1 copy ::img::vc -from 1 1 240 136
::img::vc2 copy ::img::vc -from 240 1 619 136
::img::vc put [.c cget -bg] -to 1 1 619 136
set w [image width ::img::vc]
set h [image height ::img::vc]
set w1 [image width ::img::vc1]
set w2 [image width ::img::vc2]
set P(vc,x) [expr {-$w/2}] ;# Where vc goes
set P(vc,y) [expr {-$h/2}]
set P(vc1,x0) [expr {$P(vc,x) + 1}] ;# Where vc1 starts
set P(vc1,y0) [expr {$P(vc,y) + 1}]
set P(vc1,x1) [expr {$P(vc,x) + $w - $w1 - 1}] ;# Where vc1 ends
set P(vc1,y1) $P(vc1,y0)
set P(vc2,x0) [expr {$P(vc,x) + $w - $w2 - 1}] ;# Where vc2 starts
set P(vc2,y0) $P(vc1,y0)
set P(vc2,x1) [expr {$P(vc,x) + 1}] ;# Where vc2 ends
set P(vc2,y1) $P(vc1,y0)
}
# See http://wiki.tcl.tk/ShadedTextOnCanvas
proc ShadedText {w x y fg bg args} {
set cbg [ $w cget -bg ]
eval [list $w create text $x $y -fill $bg] $args
eval [list $w create text [incr x -2] [incr y -2] -fill $cbg] $args
eval [list $w create text [incr x -1] [incr y -1] -fill $fg] $args
}
proc About {} {
set msg "$::S(title)\nby Keith Vetter, August 2006\n$::S(help)"
tk_messageBox -message $msg -title "About $::S(title)"
}
proc WhereTo {args} {
global P S
set xpos $S(step)
set ypos [expr {$S(step) <= 50 ? $S(step) : 100-$S(step)}]
set x [expr {$P(vc1,x0) + ($P(vc1,x1) - $P(vc1,x0)) * $xpos / 100.0}]
set y [expr {$P(vc1,y0) + $ypos}]
.c coords vc1 $x $y
set x [expr {$P(vc2,x0) + ($P(vc2,x1) - $P(vc2,x0)) * $xpos / 100.0}]
set y [expr {$P(vc2,y0) - $ypos}]
.c coords vc2 $x $y
}
image create photo ::img::vc -data {
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
4MCCBxMubPgw4sSKF9OMAAA7}
################################################################
DoDisplay
return
Comments edit
AMG: Arrgh, I sprained a ligament in my brain!
HJG Added a checkbutton to show hints.
AMG: Even with the hints turned on, I
still don't understand how this can be possible!
Stu 2008-11-11 Commented-out code that causes
expected integer but got "bold" error on *nix systems.
HJG 2016-01-31: I found some links about the origin of this kind of puzzle (as well as other nice puzzles), with history, and more amazing 'vanishing' pictures:
- johnrausch.com
- Vanishing Leprechaun, Vanishing Egg, Doggie Doo
- archimedes-lab.org - Vanish Puzzles
- Japanese Birds, Banker nightmare, Steam train, Disappearing Egg
- theguardian.com - Vanishing Leprechaun
- Vanishing Leprechaun, Magic Egg Puzzle (1880), La Mystérieuse (1907),
- pin-up girls, Color-changing satellites, Swedish gnomes / apes, blue&red pens,
- The Chinese vanish, Vanishing magician
- How to draw such puzzles - Alex Bellos' blogpost