*0%f5 · 2015-11-02 ·...
TRANSCRIPT
พฤฒพร ลพเกดปจจบนดำรงตำแหนงอาจารยประจำกลมเทคโนโลยสารสนเทศเพอการออกแบบสาขาวชาสถาปตยกรรม คณะสถาปตยกรรมศาสตรและการผงเมอง
Processing เปนภาษาคอมพวเตอรระบบเปด (open source programming language) มรปแบบ ภาษาคอมพวเตอรทเรยบงาย สามารถเรยนรและใชงานไดรวดเรว ไมซบซอน รองรบการเขยนซอฟตแวร สำหรบความตองการผลลพธทเปนภาพกราฟก แอนนเมชน และการโตตอบกบสภาพแวดลอม รวมถง การรองรบการเรยกใชงานรวมกบสอประเภทอนๆ อาท ขอมลเสยง ขอมลวดโอ และอปกรณอเลกทรอนกส เปนตน
หนงสอเลมน ไดรวบรวมองคความรพนฐานการสรางสรรคงานออกแบบรวมกบขนตอนวธ (algorithm) การโปรแกรมทางคอมพวเตอร สำหรบการออกแบบเชงปฏสมพนธ (interactive design) และการออกแบบ เชงจนตทศน (visualizing design) ผานการเขยนโปรแกรมดวยภาษาโปรเซสซง
• สำหรบนกศกษาในสายการออกแบบและสายเทคโนโลยคอมพวเตอรและสารสนเทศ ทสนใจ การบรณาการความรระหวางพนฐานความรทางดานเทคโนโลยสารสนเทศและความรทางดานการออกแบบ เพอเพมศกยภาพในการพฒนาและตอยอดการสรางสรรคความคดและถายทอดเปนผลงานการออกแบบ
• สำหรบบคคลทวไปหรอนกศกษาทตองการปพนฐานความรการเขยนโปรแกรมคอมพวเตอร เอกสารตำราเลมนจะเปนประโยชนตอการเรยนรในเบองตน ดวยแนวคดของการเรยนรการเขยนโปรแกรม ดวยผลลพธทเปนภาพกราฟกแบบโตตอบเชงปฏสมพนธทเขาใจงายและสามารถเรยนรไดดวยตนเอง
ISBN 978-616-314-051-7
9 7 8 6 1 6 3 1 4 0 5 1 7
อลกอรทมและการประมวลผลการสรางสรรคดวยภาษาโปรเซสซงเพอการออกแบบเชงปฏสมพ
นธพฤฒ
พร ลพเกด
http://www.thammasatpress.com
ราคา 200 บาทหมวดสถาปตยกรรม
Using Processing Language for Interactive Design
อลกอรทมและการประมวลผลการสรางสรรคดวยภาษาโปรเซสซงเพอการออกแบบเชงปฏสมพนธ
Algorithms andCreative Computing
พฤฒพร ลพเกด
[ 1300,-300 ][ 1300,-300 ][ 1300,-300 ]
[ 2100,500 ][ 2100,500 ][ 2100,500 ]
1.2 cm (250 ˹ŒÒ) size 7.25 x 10.25
ตวอยาง
โครงการหนงสอวชาการทนาพมพไดรบทนสนบสนนจากมหาวทยาลยธรรมศาสตรใหจดพมพ
และจำาหนายในราคายอมเยา
อลกอรทมและการประมวลผลการสรางสรรค
ดวยภาษาโปรเซสซงเพอการออกแบบเชงปฏสมพนธ
Algorithms and Creative Computing
Using Processing Language for Interactive Design
Algorithms_frist_Edit 3.indd 1 9/30/56 BE 10:53 AM
ตวอยาง
ถายเอกสารแทนการใชหนงสอ
คอการทำาลายภมปญญาสรางสรรค
Algorithms_frist_Edit 3.indd 2 9/30/56 BE 10:53 AM
ตวอยาง
อลกอรทมและการประมวลผลการสรางสรรค
ดวยภาษาโปรเซสซงเพอการออกแบบเชงปฏสมพนธ
Algorithms and Creative Computing
Using Processing Language for Interactive Design
พฤฒพร ลพเกด
คณะสถาปตยกรรมศาสตรและการผงเมอง
มหาวทยาลยธรรมศาสตร
สำานกพมพมหาวทยาลยธรรมศาสตร
2556
Algorithms_frist_Edit 3.indd 3 9/30/56 BE 10:53 AM
ตวอยาง
หนงสอเลมนไดรบทนสนบสนนการเขยนตำาราจากมหาวทยาลยธรรมศาสตร พ.ศ. 2556
พฤฒพร ลพเกด.
อลกอรทมและการประมวลผลการสรางสรรคดวยภาษาโปรเซสซงเพอการออกแบบเชงปฏสมพนธ.
1. โปรเซสซง (ภาษาคอมพวเตอร) 2. ขนตอนวธทางคอมพวเตอร. 3. อนเตอรแอคทฟมลตมเดย.
QA76.73.P75
ISBN 978-616-314-051-7
eISBN 978-616-314-121-7
ลขสทธของอาจารยพฤฒพร ลพเกด
สงวนลขสทธ
ฉบบพมพครงท 1 เดอนกนยายน 2556
จำานวน 300 เลม
ฉบบอเลกทรอนกส (e-book) พฤศจกายน 2557
จดพมพและจดจำาหนายโดยสำานกพมพมหาวทยาลยธรรมศาสตร
อาคารธรรมศาสตร 60 ป ชน U1 มหาวทยาลยธรรมศาสตร
ถนนพระจนทร กรงเทพฯ 10200
โทร. 0-2223-9232, 0-2613-3801-2
โทรสาร 0-2226-2083
(สำานกงานศนยรงสต โทร. 0-2564-2859-60)
e-mail address: [email protected]
พมพทหางหนสวนจำากด เอมแอนดเอมเลเซอรพรนต
นายสมชาย ดำาขำา ผพมพผโฆษณา
แบบปกโดยนายพฤฒพร ลพเกด รวมกบ mor/morormor.com
ราคาเลมละ 200.- บาท
Algorithms_frist_Edit 3.indd 4 9/30/56 BE 10:53 AM
ตวอยาง
สารบญ
หนา
สารบญภาพ (8)
คำานำา (10)
บทท 1 บทนำา 1
การประมวลผลการสรางสรรค 2
โคดคออะไร? 5
โคดและคอมพวเตอร 6
ศลปะการเขยนโคด 6
การเขยนโปรแกรมดวยภาษาภาพ 9
บทท 2 การออกแบบและการโตตอบเชงปฏสมพนธ 12
การโตตอบเชงปฏสมพนธคออะไร 13
ทำาไมตองมการออกแบบการเชงปฏสมพนธ 15
องคประกอบของการออกแบบเชงปฏสมพนธ 21
บทท 3 เรมตนกบภาษาโปรเซสซง 23
เกยวกบภาษาโปรเซสซง 23
การตดตง 26
สภาพแวดลอมของภาษาโปรเซสซง 28
ตวอยางแรกกบ‘Helloworld’ 31
ตวอยางและอางอง 33
ขอผดพลาด 35
บทท 4 องคประกอบภาษา 37
CoordinateSystemandDrawingShapes 37
BasicElements 40
ProgrammingModes 43
Algorithms_frist_Edit 3.indd 5 9/30/56 BE 10:53 AM
ตวอยาง
(6)
บทท 5 การวาดรปรางพนฐาน 48
การกำาหนดพนทแสดง 48
จดเสนระนาบ 50
ฟงกชนการกำาหนดคณสมบตของเสน 56
การกำาหนดส 58
การกำาหนดระนาบ 63
บทท 6 ตวแปรและการดำาเนนการทางคณตศาสตร 67
ตวแปร 67
การดำาเนนการทางคณตศาสตร 72
เงอนไขและการวนซำา 74
ตรรกศาสตรและความสมพนธ 74
การทำาซำา 76
ลำาดบการดำาเนนการทางคณตศาสตร 89
บทท 7 การตอบรบการปฏสมพนธ 92
การโตตอบกบเมาส 96
การโตตอบกบคยบอรด 107
บทท 8 ฟงกชนทางคณตศาสตรกบการเคลอนท 111
Constrainingnumbers 111
ฟงกชนคณตศาสตรกบตำาแหนงเคอรเซอร 113
สมการเสนโคง 118
การสมคา 125
บทท 9 สอผสม 136
รปภาพ 136
รปแบบตวอกษร 141
รปเวคเตอร 144
วดโอเบองตน 146
Algorithms_frist_Edit 3.indd 6 9/30/56 BE 10:53 AM
ตวอยาง
(7)
บทท 10 อลกอรทม 150
บทท 11 การสรางฟงกชน 158
การคนคาของฟงกชน 162
บทท 12 พนฐานการเขยนโปรแกรมเชงวตถ 164
แนวคดเชงวตถ 164
คณลกษณะของความเปนคลาส 175
การสรางแทบใหม 176
บทท 13 รจกอาเรยเบองตน 177
ภาคผนวก
ภาคผนวกกคำาสงวน(ReservedWords) 190
ภาคผนวกข 191
ภาคผนวกค 197
AirBushวาดภาพในอากาศ 197
ตวอยางโปรแกรมทใชกบโครงงาน 200
ตวอยางโปรแกรมแสดงเวลาเชงvisualdesign 227
บรรณานกรม 232
ดชน 235
Algorithms_frist_Edit 3.indd 7 9/30/56 BE 10:53 AM
ตวอยาง
หนา
รปท1.1 เมกะเดทโดยมยาจมะทาซโอะ 3
รปท1.2 เคาเตอรวอยด-CounterVoidโดยมยาจมะทาซโอะ 4
รปท1.3 ตวอยางการใชRubyScriptชวยสรางงาน3มตบนซอฟตแวรSketchup
โดยCsabaPozsárkó 8
รปท1.4 ตวอยางคำาสงการสรางรปสเหลยมดวยภาษาเบสก 8
รปท1.5 ตวอยางการใชMAX/MSPในโครงการ“Project375:WordSequencer”
โดยJustinSheriff 9
รปท1.6 ตวอยางการใชvvvvในโครงการ“DTACMemoLightWall”
โดยAPOSTROPHYS 10
รปท1.7 ตวอยางการสรางรปทรงสามมตดวยGrasshopperบนซอฟตแวรRhino 10
รปท1.8 ตวอยางการสรางเงอนไขในแบบจำาลองสามมตบนเกมเอนจนดวยFlowGraph 11
รปท2.1 ตวอยางหนาตางเบราวเซอรโมเสด(Mosaicbrowser) 14
รปท2.2 ไดอะแกรมความสมพนธของศาสตรสาขาวชาตางๆกบการออกแบบ
การโตตอบเชงปฏสมพนธ 16
รปท2.3 องคความรแขนงตางๆทเกยวของกบการออกแบบการโตตอบเชงปฏสมพนธ 17
รปท2.4 ไดอะแกรมแนวคดของการออกแบบเชงปฏสมพนธของBillVerplank 17
รปท2.5 ตวอยางของการควบคมหรอโตตอบแบบButtons(ซาย)
และแบบHandles(ขวา) 19
รปท2.6 ตวอยางของการควบคมหรอโตตอบของทรอมโบนแบบHandles(ซาย)
และเปยนโนแบบButtons(ขวา) 19
รปท2.7 ตวอยางสวนตอประสานเครองvendingmachine(ซาย)
และเครองATM(ขวา) 20
รปท3.1 BenFryและCaseyReasบคคลทรวมกนสรางและพฒนาภาษาProcessing 25
รปท3.2 หนาตางหลกของProcessingDevelopmentEnvironment(ขวา)
และหนาตางการแสดงผล(ซาย) 28
รปท3.3 ตวอยางหนาตางแสดงผลหรอDisplaywindowขนาด100x100พกเซล 29
รปท3.4 ตวอยางไฟลทถกแปลงและบรรจในโฟลเดอรApplet 31
สารบญภาพ
Algorithms_frist_Edit 3.indd 8 9/30/56 BE 10:53 AM
ตวอยาง
(9)
หนา
รปท3.5 หนาตางการเรยกใชงานExportApplication 31
รปท3.6 ภาพผลลพธการรนโปรแกรมHelloworld 32
รปท3.7 ภาพผลลพธการรนโปรแกรมเขยนเสนดวยคำาสงline() 33
รปท3.8 ตวอยางคำาอธบายการใชงานคำาสงrect() 34
รปท3.9 หนาตางการเปดไฟลตวอยางจากSketchbook 35
รปท3.10 ตวอยางขอความผดพลาดจากการใชคำาสงline 36
รปท4.1 ระบบพกดคารทเซยนของภาษาProcessing 38
รปท4.2 รปแบบการวาดจด 38
รปท4.3 รปแบบการวาดเสนตรง 39
รปท4.4 รปแบบการวาดสเหลยมจากการกำาหนดจดมมบนซาย 39
รปท4.5 รปแบบการวาดสเหลยมจากการกำาหนดจดกงกลาง 40
รปท4.6 รปแบบการวาดวงกลมหรอวงรจากการกำาหนดจดทง3รปแบบ 40
รปท4.7 โครงสรางของการเรยกใชฟงกชน 41
รปท5.1 ตวอยางคาสในโหมดGrayscale 59
รปท5.2 หนาตางการเลอกคาสของภาษาโปรเซสซง 61
รปท6.1 ไดอะแกรมตวอยางการวนลป 79
รปท7.1 โครงสรางการใชฟงกชนsetup()และdraw() 96
รปท9.1 หนาตางรายการรปแบบตวอกขระของภาษาโปรเซสซง 141
รปท10.1 ตวอยางการอลกอรทมของการตมบะหมกงสำาเรจรปทมไดมากกวา1วธ 151
รปท10.2 ตวอยางผงงานของการสรางลกบอล2มต 155
รปท11.1 ตวอยางผงงานของการเรยกใชฟงกชนทสรางขนเอง 161
รปท12.1 ภาพแสดงการเปรยบเทยบแนวคดเชงวตถ 165
รปท12.2 ภาพเปรยบเทยบแนวคดการเขยนโปรแกรมเชงวตถ 165
รปท12.3 เมนการสรางแทบใหมในPDE 176
รปท13.1 ภาพตวอยางการสรางกราฟกดวยอาเรย 182
รปท13.2 ภาพตวอยางการใชอาเรยในการสรางงานโตตอบเชงปฏสมพนธกบผใช 183
รปท13.3 ตวอยางของหลกการเกบคาตำาแหนงเมาสในแบบอาเรย 185
Algorithms_frist_Edit 3.indd 9 9/30/56 BE 10:53 AM
ตวอยาง
เทคโนโลยคอมพวเตอรและสอดจทลในโลกปจจบนทเรยกกนวายคโมเดรนเอจ ไดเขามา
มบทบาทตอการปฏบตวชาชพทกสาขาวชาชพ รวมถงวชาชพทใชความคดสรางสรรคงานออกแบบ
ประเภทตางๆ ซงวชาชพทางสถาปตยกรรมถอเปนหนงในการคดงานเชงสรางสรรค คอมพวเตอร
ไดเขามามบทบาทในทกภาคสวนของกระบวนการออกแบบและการผลตหรอกอสราง การเพม
ศกยภาพของการใชคอมพวเตอรเพอตอบโจทยไดเฉพาะทางอยางชดเจน นกออกแบบและสถาปนก
ไดใหความสนใจศกษากระบวนการทางคอมพวเตอรขนสง ทจำาเปนตองเขาใจถงอลกอรทม การ
ประมวลผล และภาษาทางคอมพวเตอร อาท การใชซอฟตแวรจำาลองงาน 3 มต ถาตองการ
สรางสรรคงานทซบซอนนกออกแบบหรอสถาปนกจะตองมความรในการเขยนภาษาสครปต (Script
Language, มลกษณะคลายกบการเขยนโปรแกรมดวยภาษาคอมพวเตอรแตไมยงยากเทา)หรอหาก
ตองการแอพพลเคชนทรองรบกบกระบวนการทำางานเฉพาะทางเพอชวยในกระบวนการออกแบบ
หรอเปนสวนหนงของงานออกแบบ จำาเปนตองสรางอลกอรทมและเขยนโปรแกรมขนมาใชเฉพาะ
ซงมความยดหยนกวาการใชแอพพลเคชนสำาเรจรป เปนตน ถงแมวาบางครงนกออกแบบหรอ
สถาปนกจะไมไดลงไปเขยนโปรแกรมเพอสรางแอพพลเคชนขนมาเอง แตการเขาใจในตรรกะ
กระบวนการทางคอมพวเตอรจะชวยสอสารความตองการ หรอออกแบบเครองมอใหกบกลม
พฒนาแอพพลเคชนนำาไปพฒนาตอได ซง ณ วนนนกออกแบบและสถาปนกเรมใหความสำาคญกบ
การเขยนโปรแกรมเพอสรางสรรคงานออกแบบหรอสรางสรรคแอพพลเคชนเพอชวยในกระบวนการ
ออกแบบ
ตำาราเลมนไดเขยนขนโดยมวตถประสงคหลกอย4ประการดวยกนคอ
1. ใชประกอบการเรยนการสอนในรายวชา AR416 Advanced Architectural Design,
AR681 Advanced Theories in Architectural Computation, AR685 User Experience
Design and Interaction in Architecture, และ AP206 Advanced 3-DModeling and
Animation
2. ใชประกอบการเรยนการสอนในรายวชาอนๆ รวมทงการทำาวทยานพนธทเกยวเนองกบ
การบรณาการการออกแบบเชงปฏสมพนธกบเทคโนโลยการประมวลผลทางคอมพวเตอร รวมถงการ
จำาลองขอมลเชงจนตทศน(visualizingdatasimulation)
3. ใชเปนคมอประกอบการศกษา เรยนรภาษาคอมพวเตอร ทชวยใหเขาใจกระบวนการ
ทำางานของขนตอนวธและการเขยนโปรแกรมในเชงรปธรรม รวมถงนำาไปใชสรางสรรคงานออกแบบ
เชงจนตทศนและงานออกแบบการโตตอบเชงปฏสมพนธ
คำานำา
Algorithms_frist_Edit 3.indd 10 9/30/56 BE 10:53 AM
ตวอยาง
(11)
4. เผยแพรความรใหกบนกเรยนนกศกษาในสายศลปะ,การออกแบบ,สถาปตยกรรมและ
สายวทยาศาสตรคอมพวเตอรรวมถงผทสนใจทงในภาคสวนการศกษาและวชาชพ
อนงการศกษาทมงเนนการสรางสรรคนวตกรรมและการบรณาการองคความรในหลายๆ
ศาสตรสาขาวชา โดยเฉพาะเทคโนโลยคอมพวเตอรทสามารถนำาความรไปประยกตใชทงใน
กระบวนการออกแบบและเปนสวนหนงของงานออกแบบประเภทตางๆ ไดดวย สำาหรบกลม
เทคโนโลยสารสนเทศเพอการออกแบบสถาปตยกรรม องคความรดงกลาวจะชวยปพนฐานการเขยน
โปรแกรมและการพฒนาแอพพลเคชนเพอใชในกระบวนการออกแบบและกอสรางทางสถาปตยกรรม
กลมนกออกแบบทวไปสามารถใชความรจากเนอหาภายในตำาราเปนเครองมอชวยในการสรางสรรค
งานศลปะ และงานออกแบบทผสมผสานกบการใชเทคโนโลยคอมพวเตชน นอกจากนกลมผสนใจ
เรยนรเกยวกบภาษาทางคอมพวเตอรและการเขยนโปรแกรมเบองตนนน เนอหาและเครองมอท
ใชประกอบการอางองภายในตำาราทเรยบเรยงใหเหนในเชงรปธรรม อลกอรทมทสามารถแสดงผล
ใหเหนในเชงภาพกราฟกทสมพนธตอการโตตอบกบผใชงานหรอกบการนำาเขาขอมลในรปแบบ
ตางๆจะชวยสงเสรมความเขาใจไดชดเจนมากขน
ทงนเพอตอบรบตอนโยบายของรฐบาลทใหการสนบสนนกบระบบโอเพนซอรส (open
source) การเรยบเรยงตำาราเลมนไดเลอกเครองมอหลกในการศกษาและใชงานทเปน โอเพนซอรส
ซอฟตแวรและฮารดแวร ซงไมมคาใชจายในการใชงาน และเปนระบบทเปดโอกาสใหนกพฒนาเขา
ไปใชและพฒนาไดโดยไมมขอผกมดทางการคารวมถงชวยลดตนทนในการทำางาน
พฤฒพร ลพเกด
คณะสถาปตยกรรมศาสตรและการผงเมอง
2556
Algorithms_frist_Edit 3.indd 11 9/30/56 BE 10:53 AM
ตวอยาง
1
บทนำ
บทท 1
ปจจบน งานศลปะ งานตกแตง งานออกแบบแขนงตางๆ รวมถงงานออกแบบสถาปตย-
กรรม เรมมการโตตอบกบผชมหรอผใชงานได มความเปนพลวตภายในตวงานออกแบบทสอดคลอง
กบพฤตกรรมของคน สงเหลานสวนใหญแลวตองใชการประมวลผลทางคอมพวเตอร ซงผลลพธ
ดงกลาวตองอาศยความเขาใจในศาสตรทางศลปะการออกแบบ รวมกบศาสตรทางการสรางอลกอรทม
และประมวลผลดวยภาษาคอมพวเตอร สำหรบประเทศไทย เรมมงานออกแบบในลกษณะ
สอสมยใหม (new media) นบเปนการผสมผสานการสรางสรรคงานออกแบบเขากบศาสตรทาง
เทคโนโลยคอมพวเตอรและความรในการเขยนโปรแกรม เพอสรางสรรคงานออกแบบเชงปฏสมพนธ
ใหเขาถงผใชงานมากขนหรอดงดดผคนเขามามสวนรวมกบงานออกแบบ ซงจดวาเปนประเดนใหม
แตมกระแสการตอบรบคอนขางสง เพยงแตองคความรในการศกษายงขาดการรวบรวมใหเปนระบบ
ทชดเจน การใหนกออกแบบหรอสถาปนกเขาถงความรแขนงดงกลาว ถอวาเปนเรองยากในการ
เรยนรและทำความเขาใจ การเลอกเครองมอรวมถงการจดรปแบบขอมล องคความรในการศกษา
จงเปนเรองสำคญ
Algorithms_ch1_Edit 3.indd 1 10/9/2556 18:00:24
ตวอยาง
2
การประมวลผลการสรางสรรค (creative computing)
ในยคของการปฏวตอตสาหกรรม มนษยไดผลตเครองมอทชวยขยายความสามารถใหกบ
รางกาย เชน เครองยนตไอนำ เทคโนโลยยานยนต เปนตน ในขณะทการปฏวตทางขอมลสารสนเทศ
ทเปนยคของขอมลทมปรมาณมหาศาลและมคณภาพทแตกตางกน มนษยไดผลตเครองมอท
ชวยขยายความสามารถทางการคด (ปญญา) ซอฟตแวรจะเปนเสมอนเครองมอในการชวยคดคำนวณ
การจดการกบขอมล การเขามาชวยในการตดสนใจตางๆ
ในปจจบนการเขยนโปรแกรมหรอการพฒนาซอฟตแวรคอมพวเตอรไดเขามามอทธพลใน
ทกดานของงานออกแบบ (รวมสมย) และงานประเภทวฒนธรรมทางสายตา (visual culture)
ศลปนรวมสมย อาท Gilbert & George, Jeff Koons, Takashima Murakami ไดใชซอฟตแวร
เขามาชวยในกระบวนการสรางสรรคงาน ในขณะทสถาปนก และนกออกแบบนน นอกเหนอจาก
การใชซอฟตแวรสำเรจรป อาท ซอฟตแวรประเภท CAAD แลวยงไดเขยนโปรแกรมขนมาเฉพาะ
เพอรองรบกบแนวคดในกระบวนการออกแบบ นอกจากนการสรางสรรคนวตกรรมในโลกของวดโอ
เกม ภาพยนตร ไดมการเขยนซอฟตแวร โดยเฉพาะเพอเพมประสทธภาพการทำงาน
การสรางสรรคงานออกแบบจากการเขยนโปรแกรมเปนกระบวนการแนวใหมดวยการ
ประมวลผลทางคอมพวเตอรทมความนาสนใจและทาทายตอการสรางสรรคงานจรงในเชงวชาชพการ
ออกแบบ รวมถงความทาทายจากการบรณาการองคความรทางเทคโนโลยทเปนวทยาศาสตรไวใน
การศกษาทางดานการออกแบบ และเปนโอกาสการสรางนวตกรรมจากการจนตนาการในรปแบบ
ใหมๆ
สำหรบอทธพลของซอฟตแวรคอมพวเตอร ทเขามามบทบาทในงานศลปะสามารถแบง
ไดเปน 2 ประเภทคอ ชวยในกระบวนการผลต (production) และชวยในกระบวนการคด
(conception) [Reas, 2010: 25] ในประเภทแรกคอมพวเตอรเขามามบทบาทในการสรางงาน
หลงจากกระบวนการคดเสรจสนและตองการสรางสรรครปแบบงานออกมา ในแบบทสอง
คอมพวเตอรมสวนรวมในการพฒนารปแบบงาน
Algorithms_ch1_Edit 3.indd 2 10/9/2556 18:00:24
ตวอยาง
3
รปท 1.1 เมกะ เดท โดย มยาจมะ ทาซโอะ
[http://www.flickr.com/photos/jaletta/6180846393/in/photostream, 2011: online]
มยาจมะ ทาซโอะ (Miyajima Tatsuo) เปนศลปนสอสมยใหม (new media) ทนยมใชการ
แสดงผลแอลอด (LED) ในการแสดงผลงานทสอปรชญาของชวต ดวยแนวคดแบบตะวนออก อนกรม
ชวต ความตาย และการกลบชาต [ฟรอจ ยะซโกะ, บรรณาธการ, 2552] ตวอยางผลงาน เมกะ เดท
(mega death) จดแสดงครงแรกป ค.ศ. 1999 โดยแสดงแนวคดของการตายหม ตวแสดง
ผลดจทลแอลอดนบพนทกะพรบอยางตอเนองเสมอนชวตแตละชวต แตแลวกดบลงในชวพรบตา
พรอมกนหมด ผชมจะตกอยทามกลางความมด นง เงยบสนท ในชวเวลาหนง กอนทตวแสดงผล
จะคอยๆ สวางขนอกครง ผลงานของ มยาจมะ ทาซโอะ เปนงานทตองอาศยการตความทมผล
กระทบกบอารมณความรสกจากการรบรของผชมงานผานการสรางสรรคดวยเทคโนโลยทงฮารดแวร
และซอฟตแวร นอกจากน มยาจมะ ทาซโอะ ยงเปนอาจารยมหาวทยาลยศลปะและการออกแบบ
โตโฮค (Tohoku University) และไดดำรงตำแหนงรองอธการบดดวย
Algorithms_ch1_Edit 3.indd 3 10/9/2556 18:00:24�������������� pdf-Algorithms-edit.indd 1 9/30/56 BE 4:16 PM
ตวอยาง
4
รปท 1.2 เคาเตอรวอยด - Counter Void โดย มยาจมะ ทาซโอะ
[http://www.scaithebathhouse.com/en/projects/counter_void, 2011: online]
ผลงานเคาเตอรวอยด (Counter Void) สรางขนครงแรกในป ค.ศ. 2003 ท New
building of headquarter of TV Asahi ประเทศญปน ตวเลขดจทล 6 ตว ดวยความสง 3 เมตร
20 เซนตเมตร บนแนวกำแพงภายนอกอาคารทสรางดวยแผงไฟนออน แผงไฟพนหลงทถก
ปรบเปลยนตามชวงเวลากลางวน-กลางคน แสงสวางของไฟนออนพนหลงสวางในขณะทตวเลข
ถกดบไฟใหมดในเวลากลางคน และพนหลงดบมดในขณะทตวเลขถกเปดไฟใหสวางสำหรบชวง
เวลากลางวน ตวเลขทงหกตวทนบถอยหลงจาก 9 ไปถง 1 ดวยความเรวทตางกน แตไมมการแสดง
เลข 0 สอแนวคดความตางของชวตและความตาย รวมถงความตงใจในการสะทอนความแตกตางทาง
ความรสกและความนกคดระหวางกลางวนกบกลางคนใหกบผคนทผานเขามาในพนทนน ในบรบท
ของพนททตงอยกลางเมองโตเกยว สถานโทรทศนทเปนศนยกลางของยาน Roppongi
ในทางสถาปตยกรรม บทบาทของคอมพวเตอรทเขามามสวนในงานทางสถาปตยกรรม
สามารถแยกไดเปน 3 ประเดนคอ [ธดาสร, 2546: 38]
1. กระบวนการออกแบบ (building design system)
2. ระบบอาคารหรอระบบเทคโนโลยอาคารและการกอสราง (building technology and
construction system)
3. ระบบการจดการอาคาร (building management system)
Algorithms_ch1_Edit 3.indd 4 10/9/2556 18:00:24�������������� pdf-Algorithms-edit.indd 2 9/30/56 BE 4:18 PM
ตวอยาง
5
สำหรบบทบาทใน 2 ประเดนหลงจะเหนวามความสำคญทมอทธพลอยางแพรหลายมา
เปนเวลาพอสมควร ในขณะทประเดนแรกไดเรมเขามามบทบาทเพมมากขนและเปนประเดนทเรม
มการสรางสรรคการเขยนโปรแกรมทชวยตอบโจทยกระบวนการทางสถาปตยกรรมสมยใหมมากขน
หมายเหต วฒนธรรมทางสายตา หรอ visual culture เปนการมองและเรยนรภาพ
ทพบเหนผานสอชองทางตางๆ ภาพทงหลายทพบเหนสามารถอยในรปของศลปะกได อยางเชน
จตรกรรม ประตมากรรม ภาพถาย หรอภาพทมลกษณะเคลอนไหว เชน ภาพยนตร และการแสดง
ตางๆ ตลอดรวมถงภาพบนจอคอมพวเตอร และภาพถายจากดาวเทยม ฯลฯ เปนตน [สมเกยรต
ตงมโน, 2011: ระบบออนไลน] สงตางๆ ทถกถายทอดและรบรไดทางสายตาเปนวฒนธรรมภาพท
เขามาแทนตวหนงสอ
โคด (code) คออะไร?
โคดหรอการสรางรหสขนนนมวตถประสงคหลก 3 ประการคอ เพอการสอสาร (commu-
nication) เพอแสดงความชดเจน (clarification) หรอเพอการซอนความหมาย (obfuscation)
[Reas, et al., 2010] ตวอยางตอไปนจะแสดงใหเหนแนวคดการสรางรหสหรอโคดในรปแบบตางๆ
รหสมอรสเปนตวอยางโคดในเชงความหมายและแนวคดซงใชในการสอสารทางโทรเลข
ในสมยกอน ดวยรปแบบการสงขอมลดวยสญญาณสนและยาว (แทนดวยเครองหมาย ‘.’ และ ‘_’)
ผสมเปนความหมายของคำ ตวเลข หรอเครองหมายพเศษ ตวอยางรหสมอรสของคำวา “Arch”
จะถกเขารหสจากผสงหรอเครองสงดวยสญญาณ “.- .-. -.-. ....” และสญญาณจะถกถอดรหส
จากผรบหรอเครองรบแปลงออกมาเปนคำวา “Arch” อกครง (เวบไซตทชวยแปลงรหสมอรส -
Morse Code Translator ดไดจาก http://morsecode.scphillips.com/jtranslator.html)
ขอมลทางพนธกรรม (genetic information) ทถกเขารหสดวยลำดบของ DNA หรอ
รหสพนธกรรม เชน “AAAGTCTGAC” โดยรหสทเกดขนแทนความหมายชนดของหนวยยอย DNA
(Nucleotide) ประกอบไปดวย A - อะดนน (adenine), T - ไทมน (Thymine), C - ไซโทซน
(Cytosine), G - กวนน (Guanine)
การเขารหสทใชในการเขยนขอความเพอการสอสารนนใชเพอความปลอดภยในการสอสาร
ระหวางบคคล ไมใหบคคลภายนอกหรอบคคลอนทราบความหมาย เชน การแทนตวอกษรดวย
ตวเลข A=1, B=2, C=3, …,Z=26 ดวยรหสเหลาน จะสามารถใชแทนคำวา “secret” ดวยชดตวเลข
“19,5,3,18,5,20” เปนตน
Algorithms_ch1_Edit 3.indd 5 10/9/2556 18:00:25
ตวอยาง
6
โคดและคอมพวเตอร (code and computer)
การโปรแกรมทางคอมพวเตอร โคด (code หรอเรยกวา source code) ใชในการควบคม
การดำเนนการทางคอมพวเตอร กลาวคอเปนอลกอรทมทเขยนดวยภาษาคอมพวเตอร (ในปจจบน
มภาษาคอมพวเตอรหลายพนภาษา และมภาษาใหมๆ เกดขนทกป) ภาษาคอมพวเตอรถกเขยน
ดวยคำและเครองหมายวรรคตอนตางๆ แตมรปแบบทแตกตางจากภาษามนษยทใชในการสอสาร
ทวๆ ไป โดยภาษามนษยมความซบซอน มความคลมเครอ และมกฎเกณฑการใชและสอความหมาย
ทมความยดหยนของโครงสรางรปประโยค ไมมลกษณะเฉพาะตายตว สามารถตความไดหลากหลาย
ความหมายจากคำหนงๆ [Reas & Fry, 2007]
ในขณะทโคดทเปนภาษาคอมพวเตอรจะมความกระชบ ชดเจน มรปแบบหรอกฎเกณฑ
ทางไวยากรณในการเขยนหรอใชงานทแนนอน และมการตความหรอสอความหมายอยางตรงไปตรง
มา ความแมนยำและถกตองเปนเรองสำคญสำหรบคอมพวเตอรทจะเขาใจภาษาทเขยน ในขณะท
มนษยสามารถคาดเดาความหมายของคำทสะกดผดได จากรปประโยคหรอสภาพแวดลอมของการ
ใชคำๆ นน ซงตรงขามกบคอมพวเตอรทไมสามารถเขาใจความหมายในระดบนนได (ณ ปจจบน)
กอนทโปรแกรมจะสามารถเรยกใชงานหรอทเรยกวารน (run) บนคอมพวเตอรไดนน
ชดคำสงหรอโคดจะถกแปลไปเปนคำสงภาษาเครองหรอภาษาระดบลางทคอมพวเตอรสามารถเขาใจ
ได (เรยกวา machine code หรอ binaries หรอ executables) ซงสวนมากจะอยในรปของ
เลขฐานสองเรยงตอกน ดงนนโปรแกรมทเขยนขนโดยใชภาษาอนๆ จนได source code จงตอง
แปลเปนภาษาเครองกอน ทเรยกกนวาคอมไพเลอร (compiler)
หมายเหต ซอรสโคด (source code) คอ คำสงหรอโคดในโปรแกรมซงเขยนดวยภาษา
คอมพวเตอร มนษยสามารถอานเขาใจได ซงโปรแกรมเมอรจะตองเขยนกอนทโปรแกรมจะถกแปล
ไปเปนคำสงภาษาเครองทคอมพวเตอรสามารถเขาใจได และเรยกวา ออบเจคโคด (object code)
เพอใหเครองคอมพวเตอรอาน คนไมสามารถอานได มเพยงคอมพวเตอรทรจกและทำงานตามคำสง
ไดทนท ดงนนโปรแกรมทเขยนขนโดยใชภาษาอนๆ จนได source code จงตองแปลเปนภาษา
เครองกอน ทเรยกกนวา compiler เปนการแปลตนฉบบ source code ทงโปรแกรมใหเปน
object code (โปรแกรมทเขยนขนเรยกวา source program โปรแกรมทแปลแลว เรยกวา object
program)
ศลปะการเขยนโคด
ถากลาวถงศลปะเชงคอมพวเตอรหรอคอมพวเตอรอารต (computer art) หลายคน
จะคดถงมตของการตกแตงภาพดจทลตางๆ ดวยซอฟตแวรสำเรจรป เชน Adobe Photoshop
Algorithms_ch1_Edit 3.indd 6 10/9/2556 18:00:25
ตวอยาง
7
เปนตน หรอการสรางสรรคงานแอนเมชนสองมตหรอสามมต ซงสวนมากจะใชซอฟตแวรสำเรจรป
เชนเดยวกน ซงปญหาการสรางสรรคงานผานซอฟตแวรสำเรจรปคอขอจำกดของตวซอฟตแวร
เอง แมจะใชเทคนคตางๆ ในการผสมผสานคณสมบตทมอยในตวซอฟตแวรเอง แตการใชงานยง
คงอยในขอบเขตของฟงกชนทมใหใชงาน ความยดหยนทยงคงมกรอบการใชงานรวมถงผใชงาน
สามารถสรางงานทคาดเดารปแบบผลลพธออกมาได ในขณะทการสรางสรรคงานผานการเขยน
โคดจะมความยดหยนสงกวา ความสามารถในการสรางงานทมความอสระ นกออกแบบสามารถ
สรางคณสมบตตางๆ ขนมาไดเอง รวมถงความสามารถในการสรางงานทไมสามารถคาดเดารปแบบ
ได นบเปนความทาทายสำหรบนกออกแบบเชงศลปะในสาขาตางๆ ซงขอดเหลานทำใหซอฟตแวร
ทางดานการออกแบบมโครงสรางในการเขยนโคดเพมขนมา ทบางครงเรยกวาเครองมอขนสง เพอ
ชวยขยายความสามารถของซอฟตแวรใหตอบสนองตามความตองการของนกออกแบบมากขน
ซงเรยกกนวาภาษาสครปต (script) อาท ซอฟตแวรเขยนแบบ AutoCAD ม AutoLisp เปนสครปต
ในการเขยนโคด, ซอฟตแวรสรางงานสามมต MAYA ม Maya Mel Scripts ในการเขยนโคด,
ซอฟตแวรสามมต Sketchup ม ruby script ในการเขยนโคด, แมแตโปรแกรม Adobe Flash
ยงมภาษา Actionscript ในการเขยนโคด เปนตน
การเขยนโคดทรองรบกบงานออกแบบหรองานทเกยวเนองกบศาสตรทางศลปะจงม
ลกษณะการสรางงานจากการเขยนโคดดวยภาษาคอมพวเตอรใน 2 ลกษณะ คอ
1. การเขยนโคดดวยภาษาสครปตผานซอฟตแวรสำเรจรป จากทไดกลาวถงขางตน ซง
เปนการใชงานซอฟตแวรในระดบการใชเครองมอขนสง มความยดหยนในการใชงาน กรอบความ
สามารถทมากขนกวาการใชงานปกต แตผใชตองมพนฐานการเขยนโปรแกรมในระดบหนง
2. การเขยนโคดสรางโปรแกรมโดยตรง ภาษาคอมพวเตอรทรองรบกบศาสตรทางศลปะ
การสรางสรรคการออกแบบ จะมคณลกษณะทงายตอการเรยนรการใชงาน รองรบการใชงาน
เชงกราฟกไดเปนอยางด จดเรมตนของภาษาเหลานทนกออกแบบหรอศลปนนำมาใชกนในชวงแรก
จะมาจากภาษาทใชในการศกษาหลกการเขยนโปรแกรม เชน ภาษาเบสก (Basic Language พฒนา
ขนในป ค.ศ. 1964), ภาษาโลโก (Logo Language พฒนาขนครงแรกในป ค.ศ. 1967) เปนตน
Algorithms_ch1_Edit 3.indd 7 10/9/2556 18:00:25
ตวอยาง
8
รปท 1.3 ตวอยางการใช Ruby Script ชวยสรางงาน 3 มตบนซอฟตแวร Sketchup โดย Csaba Pozsárkó
[http://news.sketchucation.com/beginning-ruby-2-writing-a-script/, 2009]
รปท 1.4 ตวอยางคำสงการสรางรปสเหลยมดวยภาษาเบสก
[http://www.sydlexia.com/logo.htm , 2011]
ปจจบนมภาษาคอมพวเตอรในเชงศาสตรทางศลปะการสรางสรรคการออกแบบและรองรบ
กบงานสอสมยใหมทไดรบความนยมในหมนกออกแบบ ศลปน สถาปนก ทตองการสรางงาน
จากคอมพวเตอรในรปแบบใหมๆ เปนจำนวนมาก อาท Proceesing, MAX/MSP,
Openframeworks, Actionscripts เปนตน ซงภาษาคอมพวเตอรเหลานมรปแบบการเขยนโคด
ทแตกตางกนอย 2 ลกษณะคอ การเขยนโคดแบบ command line หรอ text command เปนการ
เขยนดวยตวอกขระ ใชการพมพคำสงตางๆ ดวยตวอกขระในแตละบรรทด สวนอกลกษณะเรยกวา
Visual Programming Languages เปนการเขยนดวยสญลกษณไดอะแกรมซงจะกลาวถงในหวขอ
ถดไป
Algorithms_ch1_Edit 3.indd 8 10/9/2556 18:00:25�������������� pdf-Algorithms-edit.indd 3 9/30/56 BE 4:18 PM
ตวอยาง