20
Using Processing Language for Interactive Design อัลก อริทึมและการประมวลผลก ารสรางสรรค ดวยภาษาโปรเซสซิ่งเพื่อการออกแบบเชิงปฏิสัมพันธ Algorithms and Creative Computing พฤฒิพร ลพเกิด [ 1300,-300 ] [ 1300,-300 ] [ 2100,500 ] [ 2100,500 ] ตัวอย่าง

*0%F5 · 2015-11-02 · ถ่ายเอกสารแทนการใช้หนังสือ คือการทำาลายภูมิปัญญาสร้างสรรค์

  • Upload
    others

  • View
    2

  • Download
    4

Embed Size (px)

Citation preview

Page 1: *0%F5 · 2015-11-02 · ถ่ายเอกสารแทนการใช้หนังสือ คือการทำาลายภูมิปัญญาสร้างสรรค์

พฤฒพร ลพเกดปจจบนดำรงตำแหนงอาจารยประจำกลมเทคโนโลยสารสนเทศเพอการออกแบบสาขาวชาสถาปตยกรรม คณะสถาปตยกรรมศาสตรและการผงเมอง

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

ตวอยาง

Page 2: *0%F5 · 2015-11-02 · ถ่ายเอกสารแทนการใช้หนังสือ คือการทำาลายภูมิปัญญาสร้างสรรค์

โครงการหนงสอวชาการทนาพมพไดรบทนสนบสนนจากมหาวทยาลยธรรมศาสตรใหจดพมพ

และจำาหนายในราคายอมเยา

อลกอรทมและการประมวลผลการสรางสรรค

ดวยภาษาโปรเซสซงเพอการออกแบบเชงปฏสมพนธ

Algorithms and Creative Computing

Using Processing Language for Interactive Design

Algorithms_frist_Edit 3.indd 1 9/30/56 BE 10:53 AM

ตวอยาง

Page 3: *0%F5 · 2015-11-02 · ถ่ายเอกสารแทนการใช้หนังสือ คือการทำาลายภูมิปัญญาสร้างสรรค์

ถายเอกสารแทนการใชหนงสอ

คอการทำาลายภมปญญาสรางสรรค

Algorithms_frist_Edit 3.indd 2 9/30/56 BE 10:53 AM

ตวอยาง

Page 4: *0%F5 · 2015-11-02 · ถ่ายเอกสารแทนการใช้หนังสือ คือการทำาลายภูมิปัญญาสร้างสรรค์

อลกอรทมและการประมวลผลการสรางสรรค

ดวยภาษาโปรเซสซงเพอการออกแบบเชงปฏสมพนธ

Algorithms and Creative Computing

Using Processing Language for Interactive Design

พฤฒพร ลพเกด

คณะสถาปตยกรรมศาสตรและการผงเมอง

มหาวทยาลยธรรมศาสตร

สำานกพมพมหาวทยาลยธรรมศาสตร

2556

Algorithms_frist_Edit 3.indd 3 9/30/56 BE 10:53 AM

ตวอยาง

Page 5: *0%F5 · 2015-11-02 · ถ่ายเอกสารแทนการใช้หนังสือ คือการทำาลายภูมิปัญญาสร้างสรรค์

หนงสอเลมนไดรบทนสนบสนนการเขยนตำาราจากมหาวทยาลยธรรมศาสตร พ.ศ. 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

ตวอยาง

Page 6: *0%F5 · 2015-11-02 · ถ่ายเอกสารแทนการใช้หนังสือ คือการทำาลายภูมิปัญญาสร้างสรรค์

สารบญ

หนา

สารบญภาพ (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

ตวอยาง

Page 7: *0%F5 · 2015-11-02 · ถ่ายเอกสารแทนการใช้หนังสือ คือการทำาลายภูมิปัญญาสร้างสรรค์

(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

ตวอยาง

Page 8: *0%F5 · 2015-11-02 · ถ่ายเอกสารแทนการใช้หนังสือ คือการทำาลายภูมิปัญญาสร้างสรรค์

(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

ตวอยาง

Page 9: *0%F5 · 2015-11-02 · ถ่ายเอกสารแทนการใช้หนังสือ คือการทำาลายภูมิปัญญาสร้างสรรค์

หนา

รปท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

ตวอยาง

Page 10: *0%F5 · 2015-11-02 · ถ่ายเอกสารแทนการใช้หนังสือ คือการทำาลายภูมิปัญญาสร้างสรรค์

(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

ตวอยาง

Page 11: *0%F5 · 2015-11-02 · ถ่ายเอกสารแทนการใช้หนังสือ คือการทำาลายภูมิปัญญาสร้างสรรค์

เทคโนโลยคอมพวเตอรและสอดจทลในโลกปจจบนทเรยกกนวายคโมเดรนเอจ ไดเขามา

มบทบาทตอการปฏบตวชาชพทกสาขาวชาชพ รวมถงวชาชพทใชความคดสรางสรรคงานออกแบบ

ประเภทตางๆ ซงวชาชพทางสถาปตยกรรมถอเปนหนงในการคดงานเชงสรางสรรค คอมพวเตอร

ไดเขามามบทบาทในทกภาคสวนของกระบวนการออกแบบและการผลตหรอกอสราง การเพม

ศกยภาพของการใชคอมพวเตอรเพอตอบโจทยไดเฉพาะทางอยางชดเจน นกออกแบบและสถาปนก

ไดใหความสนใจศกษากระบวนการทางคอมพวเตอรขนสง ทจำาเปนตองเขาใจถงอลกอรทม การ

ประมวลผล และภาษาทางคอมพวเตอร อาท การใชซอฟตแวรจำาลองงาน 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

ตวอยาง

Page 12: *0%F5 · 2015-11-02 · ถ่ายเอกสารแทนการใช้หนังสือ คือการทำาลายภูมิปัญญาสร้างสรรค์

(11)

4. เผยแพรความรใหกบนกเรยนนกศกษาในสายศลปะ,การออกแบบ,สถาปตยกรรมและ

สายวทยาศาสตรคอมพวเตอรรวมถงผทสนใจทงในภาคสวนการศกษาและวชาชพ

อนงการศกษาทมงเนนการสรางสรรคนวตกรรมและการบรณาการองคความรในหลายๆ

ศาสตรสาขาวชา โดยเฉพาะเทคโนโลยคอมพวเตอรทสามารถนำาความรไปประยกตใชทงใน

กระบวนการออกแบบและเปนสวนหนงของงานออกแบบประเภทตางๆ ไดดวย สำาหรบกลม

เทคโนโลยสารสนเทศเพอการออกแบบสถาปตยกรรม องคความรดงกลาวจะชวยปพนฐานการเขยน

โปรแกรมและการพฒนาแอพพลเคชนเพอใชในกระบวนการออกแบบและกอสรางทางสถาปตยกรรม

กลมนกออกแบบทวไปสามารถใชความรจากเนอหาภายในตำาราเปนเครองมอชวยในการสรางสรรค

งานศลปะ และงานออกแบบทผสมผสานกบการใชเทคโนโลยคอมพวเตชน นอกจากนกลมผสนใจ

เรยนรเกยวกบภาษาทางคอมพวเตอรและการเขยนโปรแกรมเบองตนนน เนอหาและเครองมอท

ใชประกอบการอางองภายในตำาราทเรยบเรยงใหเหนในเชงรปธรรม อลกอรทมทสามารถแสดงผล

ใหเหนในเชงภาพกราฟกทสมพนธตอการโตตอบกบผใชงานหรอกบการนำาเขาขอมลในรปแบบ

ตางๆจะชวยสงเสรมความเขาใจไดชดเจนมากขน

ทงนเพอตอบรบตอนโยบายของรฐบาลทใหการสนบสนนกบระบบโอเพนซอรส (open

source) การเรยบเรยงตำาราเลมนไดเลอกเครองมอหลกในการศกษาและใชงานทเปน โอเพนซอรส

ซอฟตแวรและฮารดแวร ซงไมมคาใชจายในการใชงาน และเปนระบบทเปดโอกาสใหนกพฒนาเขา

ไปใชและพฒนาไดโดยไมมขอผกมดทางการคารวมถงชวยลดตนทนในการทำางาน

พฤฒพร ลพเกด

คณะสถาปตยกรรมศาสตรและการผงเมอง

2556

Algorithms_frist_Edit 3.indd 11 9/30/56 BE 10:53 AM

ตวอยาง

Page 13: *0%F5 · 2015-11-02 · ถ่ายเอกสารแทนการใช้หนังสือ คือการทำาลายภูมิปัญญาสร้างสรรค์

1

บทนำ

บทท 1

ปจจบน งานศลปะ งานตกแตง งานออกแบบแขนงตางๆ รวมถงงานออกแบบสถาปตย-

กรรม เรมมการโตตอบกบผชมหรอผใชงานได มความเปนพลวตภายในตวงานออกแบบทสอดคลอง

กบพฤตกรรมของคน สงเหลานสวนใหญแลวตองใชการประมวลผลทางคอมพวเตอร ซงผลลพธ

ดงกลาวตองอาศยความเขาใจในศาสตรทางศลปะการออกแบบ รวมกบศาสตรทางการสรางอลกอรทม

และประมวลผลดวยภาษาคอมพวเตอร สำหรบประเทศไทย เรมมงานออกแบบในลกษณะ

สอสมยใหม (new media) นบเปนการผสมผสานการสรางสรรคงานออกแบบเขากบศาสตรทาง

เทคโนโลยคอมพวเตอรและความรในการเขยนโปรแกรม เพอสรางสรรคงานออกแบบเชงปฏสมพนธ

ใหเขาถงผใชงานมากขนหรอดงดดผคนเขามามสวนรวมกบงานออกแบบ ซงจดวาเปนประเดนใหม

แตมกระแสการตอบรบคอนขางสง เพยงแตองคความรในการศกษายงขาดการรวบรวมใหเปนระบบ

ทชดเจน การใหนกออกแบบหรอสถาปนกเขาถงความรแขนงดงกลาว ถอวาเปนเรองยากในการ

เรยนรและทำความเขาใจ การเลอกเครองมอรวมถงการจดรปแบบขอมล องคความรในการศกษา

จงเปนเรองสำคญ

Algorithms_ch1_Edit 3.indd 1 10/9/2556 18:00:24

ตวอยาง

Page 14: *0%F5 · 2015-11-02 · ถ่ายเอกสารแทนการใช้หนังสือ คือการทำาลายภูมิปัญญาสร้างสรรค์

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

ตวอยาง

Page 15: *0%F5 · 2015-11-02 · ถ่ายเอกสารแทนการใช้หนังสือ คือการทำาลายภูมิปัญญาสร้างสรรค์

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

ตวอยาง

Page 16: *0%F5 · 2015-11-02 · ถ่ายเอกสารแทนการใช้หนังสือ คือการทำาลายภูมิปัญญาสร้างสรรค์

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

ตวอยาง

Page 17: *0%F5 · 2015-11-02 · ถ่ายเอกสารแทนการใช้หนังสือ คือการทำาลายภูมิปัญญาสร้างสรรค์

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

ตวอยาง

Page 18: *0%F5 · 2015-11-02 · ถ่ายเอกสารแทนการใช้หนังสือ คือการทำาลายภูมิปัญญาสร้างสรรค์

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

ตวอยาง

Page 19: *0%F5 · 2015-11-02 · ถ่ายเอกสารแทนการใช้หนังสือ คือการทำาลายภูมิปัญญาสร้างสรรค์

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

ตวอยาง

Page 20: *0%F5 · 2015-11-02 · ถ่ายเอกสารแทนการใช้หนังสือ คือการทำาลายภูมิปัญญาสร้างสรรค์

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

ตวอยาง