Wednesday, September 15, 2004

โปรแกรมทำ (Color) Random Dots Stereogram

หลายปีก่อน นานมาแล้ว ภาพสามมิติแบบที่เรียกว่า Random Dots Stereogram (RDS) เป็นที่ฮิตกัน จำได้ว่าส่งให้กันเป็นไฟล์ PostScript (.ps) ทาง E-Mail หรือ FTP (ช่วงนั้น HTTP/Browser ยังไม่เกิด) พอได้มาก็ lpr ให้เครื่องพิมพ์ไปเลย

ตัวอย่าง RDS เป็นแบบนี้

การดูให้ออกเป็นสามมิติ ทำได้โดย มองที่ภาพนี้ แต่โฟกัสสายตาให้เหมือนมองวัตถุที่อยู่ไกลออกไป จนกระทั่งเห็นจุดขาวสองจุดตรงขอบด้านบนมาซ้อนกันตรงกลางพอดี (รวมเห็นสามจุดขาว)

จุดขาวในที่นี้หมายถึงรูปสี่เหลี่ยมสีขาวสองรูป ที่อยู่ตรงขอบด้านบนของภาพ

เมื่อเห็นได้ดังนั้นแล้ว ก็เลื่อนสายตาลงมาข้างล่าง จะเห็นเป็นปิระมิดพุ่งออกมาหาตัวเรา 4 ชั้น

ตอนนั้นตื่นเต้นกับมันมาก หาเอกสารอ่านแล้วลองทำโปรแกรมสำหรับสร้างภาพ RDS พวกนี้ขึ้นมาเองบ้าง จนเขียนเป็นบทความพร้อมโปรแกรมไปลงวารสารคอมพิวเตอร์ฉบับหนึ่งที่เมืองไทย (พอดีเพื่อนอยู่ในกอง บ.ก.)

วันนี้จัดไฟล์ในฮาร์ดดิสก์ (ต่อจากเมื่อวาน) เจอโปรแกรม RDS นี่พอดี เอามาลองปัดฝุ่นเล่นใหม่ เจอรูปนี้เขียนเป็นตัวอักษร H U I (ตัว U จะนูนออกมามากหน่อย)

ตอนนี้เครื่องพิมพ์สีก็มีแล้ว ลองแก้โปรแกรมให้มันทำเป็นสีออกมาบ้าง ปรากฏว่าถ้าเป็นสีทั้งหมด Contrast มันจะต่ำไป ดูไม่ค่อยออก ทำเป็นสีปนดำก็แล้วกัน ได้มาแบบนี้

ดูดีขึ้นกว่าขาวดำล้วนๆ (หน่อยเดียว) เดี๋ยวจะลองเอาภาพลายยุ่งๆ (ทุ่งหญ้า ?) มาแทน Random Dots ดูดีกว่า

เพิ่มเติม

เอาโปรแกรมมาใส่: map2rds.zip

5 comments:

poonlap said...

เพ่งตั้งนานกว่าจะมองออก. :)
ทำไมที่รูปทุกรูปมีแหว่งเหลี่ยมข้องบนหละครับ? มีความหมายพิเศษหรือเปล่า.

Hui/ฮุ้ย said...

หมายถึงสี่เหลี่ยมขาวๆสองอันตรงขอบด้านบน ?

ก็คือจุดขาวสองจุดที่บอกว่าให้มองให้เห็นเป็นสามอันแหละ
เอาไว้เป็นเครื่องหมายช่วยเล็ง

มันเกี่ยวข้องกับระยะห่างของภาพตาขวาและตาซ้าย

modeller said...

อยากได้โปรแกรมนี้มากๆเลยครับ
ยังไงถ้าตัวโปรแกรมไม่หนักมา ถ้าจะส่งมาทาง email หรือว่า จำ upload ขึ้นไปที่ไหนซักที่ได้จะเยี่ยมมากๆเลยครับ ผมสนใจมากๆ และอยากได้มากๆครับ
ไม่ทราบว่าตัวโปรแกรม install ยากหรือเปล่าคับ เป็น source หรือเปล่าครับ ผมจะลองเอามา compile บน OSX ดูครับ

หรือว่ามีแบบ Native OSX เลยหรือเปล่าครับ แบบ Aqua เลยน่ะครับ ?

id said...

เด็กๆชอบเล่นมาก เคยเขียนเหมือนกัน แต่เขียนค่อนข้างดีคือ load pattern แทน random dots ได้กับมี image editor ให้แก้รูปได้ด้วย แล้วก็ import raytrace object ของอีกโปรแกรมเข้ามาได้ ซักปี 37 มั้ง ทำสมุด TU ออกมาเล่มนึงตอนนั้นกำลังฮิต แต่หลังๆนี่ชอบทำด้วยมือมากกว่าสนุกดี ใช้พวก warp tool ทำตาเหล่ๆแล้วเอา mouse ค่อยๆแต่ง @modeller จำได้ว่า gimp มี plug-in

Hui/ฮุ้ย said...

เอาโปรแกรม (map2rds.zip) มาใส่แล้วครับ ไม่ค่อยมีคำอธิบายเท่าไร
ใช้ gcc คอมไพล์แล้วก็เรียกตามตัวอย่างใน README.hui ได้เลย

.dat จะเป็นไฟล์ 2D บอกค่าความสูงที่ตำแหน่งต่างๆ

ไฟล์ที่ได้ออกมาเป็น pnm ครับ