From 0dc342de848a642ecce8db697b8fecd83a63e117 Mon Sep 17 00:00:00 2001 From: yugui Date: Mon, 25 Aug 2008 15:02:05 +0000 Subject: added tag v1_9_0_4 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/tags/v1_9_0_4@18845 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- trunk/sample/rcs.rb | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 trunk/sample/rcs.rb (limited to 'trunk/sample/rcs.rb') diff --git a/trunk/sample/rcs.rb b/trunk/sample/rcs.rb new file mode 100644 index 0000000000..0bdf81c45d --- /dev/null +++ b/trunk/sample/rcs.rb @@ -0,0 +1,39 @@ +# random dot steraogram +# usage: rcs.rb rcs.dat + +sw = 40.0 # width of original pattern +dw = 78.0 # width of generating Random Character Streogram +hdw = dw / 2.0 +w = 20.0 # distance between eyes +h =1.0 # distance from screen and base plane +d = 0.2 # z value unit +ss="abcdefghijklmnopqrstuvwxyz0123456789#!$%^&*()-=\\[];'`,./" +rnd = srand() # You don't actually need this in ruby - srand() is called + # on the first call of rand(). + +while gets() +# print($_) + xr = -hdw; y = h * 1.0; maxxl = -999 + s = "" + while xr < hdw + x = xr * (1 + y) - y * w / 2 + i = (x / (1 + h) + sw / 2) + if (1 < i && i < $_.length) + c = $_[i, 1].to_i + else + c = 0 + end + y = h - d * c + xl = xr - w * y / (1 + y) + if xl < -hdw || xl >= hdw || xl <= maxxl + tt = rand(ss.length) + c = ss[tt, 1] + else + c = s[xl + hdw, 1] + maxxl = xl + end + s += c + xr += 1 + end + print(s, "\n") +end -- cgit v1.2.3