2 คะแนน โดย GN⁺ 2025-11-10 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • โปรเจ็กต์ที่ผสาน การพิมพ์ 3 มิติและการสร้างเชิงกระบวนการ เพื่อสร้างผลงานศิลปะโครงสร้างซับซ้อน
  • ประกอบด้วยอัลกอริทึมสร้างเส้นทางที่เชื่อมจุดที่วางแบบสุ่มด้วยสปลายน์ พร้อม ควบคุมความชันและรัศมีการหมุน
  • เพื่อแก้ปัญหา การควบคุมความเร็วและแรงเสียดทาน จึงกำหนดรัศมีการหมุนขั้นต่ำและใช้การเอียงโค้งมากเป็นพิเศษ เพื่อให้แทร็กมีเสถียรภาพ
  • ส่วนค้ำยันถูกสร้างด้วย ระบบอนุภาคเป็นพื้นฐาน โดยคำนึงทั้งรูปทรงเชิงสุนทรียะและเสถียรภาพของโครงสร้าง
  • โปรเจ็กต์นี้ก้าวข้ามข้อจำกัดของ OpenSCAD และมีแผน เขียนใหม่บนพื้นฐาน SDF และปรับปรุงการจำลองความเร็ว ในอนาคต

ภาพรวมโปรเจ็กต์

  • Marble Fountain คือประติมากรรมโครงสร้างศิลปะซับซ้อนที่พิมพ์ด้วยเครื่องพิมพ์ 3 มิติ โดยใช้เทคนิคการสร้างเชิงกระบวนการ
    • หลังเข้าทำงานที่ Formlabs ผู้เขียนได้ใช้เครื่องพิมพ์ประสิทธิภาพสูง จึงลองสร้างโครงสร้างอัลกอริทึมขนาดใหญ่
    • โครงสร้างนี้ถูกออกแบบโดยมีเป้าหมายให้เป็น “งานศิลปะที่ซับซ้อนที่สุด”
  • ในการพิมพ์ 3 มิติ ความซับซ้อนไม่ได้ส่งผลต่อต้นทุน และข้อจำกัดของการออกแบบถูกกำหนดโดยเวลาที่ใช้ทำงานบน CAD

แทร็ก (Tracks)

  • ระบบเริ่มต้นประกอบด้วยขั้นตอน วางจุดแบบสุ่ม → เชื่อมด้วยสปลายน์ → กำหนดความชันคงที่
    • เวอร์ชันแรกเป็นเพียงการเจาะท่อออกจากโครงสร้างทึบ แต่เพื่อขยายความสามารถจึงเพิ่ม อัลกอริทึมแก้เส้นทาง (path solver)
  • ตัวแก้เส้นทางเริ่มจาก ชุดของเส้นตรงแบบสุ่ม ที่เชื่อมด้านบนกับด้านล่าง
    • เงื่อนไขเริ่มต้นมีผลอย่างมากต่อรูปร่างของโครงสร้าง และมีการทดลองดัดแปลงอัลกอริทึมหลายแบบ
  • จุดต่าง ๆ บนเส้นทางปฏิบัติตามกฎดังนี้
    • อยู่ภายในกรอบขอบเขต
    • รักษาระยะห่างสม่ำเสมอ
    • ถูกดึงให้คงระดับความสูงตามที่กำหนดเพื่อ รักษาความชันคงที่
    • จำกัดรัศมีการหมุนต่ำสุดและสูงสุด
    • ผลักกันและกัน กับแทร็กอื่นรวมถึงช่วงที่อยู่ไกลของแทร็กตัวเอง
    • ทำให้การเปลี่ยนความชันนุ่มนวลขึ้นและ ป้องกันไม่ให้ความชันเพิ่มขึ้น
  • ปัญหาการควบคุมความเร็ว ซับซ้อนกว่าที่คาด
    • ลูกแก้วไม่ได้เคลื่อนที่เหมือนมวลจุด และการเปลี่ยนการเอียงของแทร็กส่งผลต่อโมเมนต์ความเฉื่อยการหมุนและแรงเสียดทาน
    • บนช่วงทางตรง ความเร็วจะเพิ่มขึ้นมากเกินไป ส่วนในโค้งแคบมีความเสี่ยงที่จะชะลอจนหยุด
    • วิธีแก้คือการ กำหนดรัศมีการหมุนขั้นต่ำ และ ใช้การเอียงโค้งมากเป็นพิเศษ เพื่อให้เกิดการสูญเสียความเร็ว
  • โครงสร้างลิฟต์ทำงานคล้าย บอลสกรู (ball screw)
    • ลูกแก้วช่วยจำกัดแกนสกรูจากทุกทิศทาง จึงหมุนได้โดยไม่ต้องมีแบริ่งด้านบน
    • หากมีลูกแก้วอยู่เพียงด้านเดียว จะเกิดการสั่นรุนแรงจนลูกแก้วทั้งหมดหลุดออกจากแทร็ก ซึ่งเป็นโหมดความล้มเหลวแบบหนึ่ง

ส่วนค้ำยัน (Supports)

  • การสร้างส่วนค้ำยันทำด้วยกระบวนการวนซ้ำแบบ จากบนลงล่างที่อิงระบบอนุภาค
    • ใช้เวลากับการปรับรูปร่างเชิงสุนทรียะมากกว่าการหลีกเลี่ยงการชนกันของโครงสร้าง
    • ใช้ประโยชน์จากขีดจำกัดการพิมพ์ส่วนยื่นของเครื่องพิมพ์อย่างเต็มที่
  • กฎการทำงานของค้ำยันแต่ละชิ้น
    • ดึงดูด ค้ำยันอื่นตามระยะทางและความคล้ายของขนาด
    • ผลักออกจากกัน กับค้ำยันอื่น
    • อยู่ภายในกรอบขอบเขต
    • รักษารัศมีที่กำหนดจากศูนย์กลางของโครงสร้าง
  • ค้ำยันมี ความเฉื่อย (inertia) ทำให้เกิด โครงสร้างเส้นโค้งแบบซุ้ม

แผนต่อไป (Looking forward)

  • เวลา ส่งออกโมเดลสุดท้ายใช้ 5–20 นาที
    • ยังมีโอกาสปรับปรุงประสิทธิภาพได้เพราะข้อจำกัดของ OpenSCAD
    • มีการพิจารณา เขียนใหม่โดยใช้ไลบรารีที่อิง SDF ในอนาคต
  • ระบบปัจจุบัน ยังไม่มีฟังก์ชันประเมินความเร็ว และพึ่งพา heuristic แบบง่าย
    • การวัดความเร็วด้วยกล้องเพื่อ สร้างแบบจำลองความเร่ง อาจช่วยประหยัดเวลาได้
    • การรักษาความชันคงที่ไม่เอื้อต่อการหลีกเลี่ยงการชนกัน แต่จำเป็นต่อการควบคุมความเร็ว
    • มีแผนสำรวจ จุดวิกฤตที่พื้นผิวเริ่มลื่น (response curve)

มองย้อนกลับไป (Looking back)

  • เป็น โปรเจ็กต์ส่วนตัวที่ใหญ่ที่สุด ใช้เวลาประมาณ 7 เดือน ตั้งแต่กุมภาพันธ์ถึงกันยายน 2024
    • มีการเร่งทำงานช่วงท้ายเพื่อเตรียมส่งแสดงที่นิทรรศการ (New Alliance Gallery, Somerville)
    • ระหว่างจัดแสดง ลูกแก้วหายไป 2–3 ลูกต่อชั่วโมง และมอเตอร์ร้อนเกินจนใช้งานได้ครั้งละเพียงไม่กี่ชั่วโมง
    • โปรเจ็กต์ถูกพักไปเพราะทำงานหนักเกินไป และเผยแพร่อีกครั้งหลังจากผ่านไป 1 ปี
  • มีการกล่าวขอบคุณ Alex เพื่อนร่วมงาน สำหรับคำแนะนำ ฟีดแบ็ก และการทดลองกับลูกแก้วนับไม่ถ้วน

สรุปทางเทคนิค

  • เทคโนโลยีที่ใช้: Procedural Generation, 3D Printing, Python, OpenSCAD
  • ลักษณะเชิงโครงสร้าง: อัลกอริทึมแก้เส้นทาง + ระบบค้ำยันแบบอนุภาค
  • เป้าหมายทางศิลปะ: การผสานความซับซ้อนเชิงกลไกเข้ากับเส้นโค้งเชิงสุนทรียะ
  • ไม่มีข้อมูลเพิ่มเติมในต้นฉบับ

1 ความคิดเห็น

 
GN⁺ 2025-11-10
ความเห็นจาก Hacker News
  • วิธีการใช้การจำลองอนุภาคเพื่อสร้าง โครงสร้างรองรับรูปทรงต้นไม้ ที่ดูเป็นธรรมชาตินั้นสร้างสรรค์มาก
    เท่าที่ฉันเข้าใจคือ เขาน่าจะกำหนดกฎทางฟิสิกส์แล้วแมปแกน 'เวลา' ไปเป็นแกน z เพื่อรันการจำลอง
    เลยสงสัยว่านี่เป็นวิธีที่มีอยู่แล้ว หรือเป็นสิ่งที่คิดขึ้นเองกันแน่ ไม่ว่าอย่างไร ผลลัพธ์ด้านความงามก็ยอดเยี่ยมมากจนอยากลองทำเอง

  • นักออกแบบ marble run มักเจอ ปัญหาลูกแก้วตกราง หากไม่ได้ใช้คอมพิวเตอร์
    ต้องคอยสังเกตว่าลูกแก้วเด้งออกจากรางหรือติดขัดตรงไหน แล้วเดาสาเหตุพร้อมปรับด้วยมือ
    แต่งานชิ้นนี้น่าประทับใจตรงที่ลูกแก้วไม่ตกรางเลยเป็นเวลาหลายชั่วโมง
    รางนี้ประกอบด้วยรางคู่สองเส้น ทำให้ลูกแก้วสัมผัสอยู่สองจุดตลอดเวลา
    หัวใจสำคัญน่าจะเป็นการรักษา banking (ความเอียงของโค้ง) ให้สมบูรณ์แบบ เพื่อให้แรงโน้มถ่วงกับแรงหนีศูนย์กลางสมดุลกัน

    • จริง ๆ แล้วซับซ้อนกว่านั้นอีก banking จะเปลี่ยนแกนการหมุนเพื่อลดโมเมนต์ความเฉื่อยในการหมุน
      รางเอียงอย่างมากเพื่อไม่ให้ลูกแก้วเร็วเกินไปหรือเด้งออก
      ดังนั้นลูกแก้วทุกลูกจึงไหลลงมาอย่างนุ่มนวลด้วยความเร็วแทบเท่ากัน
      อย่างไรก็ตาม ทุก ๆ 30 นาทีจะยังมีตกรางประมาณหนึ่งลูก ฉันเลยอัดวิดีโอเพื่อหาช่วงที่มีปัญหา แล้วปรับปรุงด้วยการ แก้ generator code แล้วพิมพ์ใหม่ แทนการปรับด้วยมือ
      กำลังคิดจะทำ feedback loop จากกล้องอยู่เหมือนกัน แต่คงจะกลายเป็นอีกโปรเจกต์หนึ่ง
  • งานชิ้นนี้สวยมาก ถ้าสามารถใช้รางเพื่อ เข้ารหัส/ถอดรหัสเสียง ได้ก็คงเท่มาก
    เช่น ทำให้การเคลื่อนที่ของลูกแก้วสร้างความถี่ที่แตกต่างกัน

    • ฉันก็เคยลองทำจริงเหมือนกัน ไอเดียเอา Python script มาแปลง MIDI track เป็น marble run มันน่าสนใจมากจนต้องลอง แต่ลูกแก้วเด้งมากเกินไปจนทำระดับเสียงไม่ได้
      ถ้าใช้วัสดุที่ยืดหยุ่นกว่านี้หรือใช้ลูกปืนที่ใหญ่ขึ้นอาจจะพอเป็นไปได้ แต่ตอนนี้ขอโฟกัสกับการทำเวอร์ชันปกติให้เสร็จก่อน
    • Tom Scott มีวิดีโอเกี่ยวกับ ถนนดนตรี ในแคลิฟอร์เนีย
      ลิงก์ YouTube
  • คิดว่านี่เป็นตัวอย่างที่แสดงให้เห็น กรณีใช้งานในอุดมคติ ของเครื่องพิมพ์ 3D
    ถ้าจะทำรางลูกแก้วที่เคลื่อนไหวลื่นไหลแบบนี้กับรูปทรงออร์แกนิกด้วยวิธีอื่น คงต้องใช้ความพยายามมหาศาล

    • แต่โดยส่วนตัว ฉันคิดว่าจุดเด่นที่แท้จริงของเครื่องพิมพ์ 3D คือการทำ ของใช้ชิ้นเล็กแบบปรับแต่งเฉพาะ เพื่อยกระดับคุณภาพชีวิต มากกว่างานประติมากรรมแบบนี้
  • วิดีโอทำออกมาได้ดีมาก ทั้ง เสียงบรรยายกับจังหวะดนตรีที่ซิงก์กัน และตัวผลงานเองก็อธิบายทุกอย่างได้หมด ยอดเยี่ยม

  • ฉันชอบงานชิ้นนี้มาก มันเต็มไปด้วยองค์ประกอบแบบ 'น่าพึงพอใจอย่างประหลาด'
    ฉันเองก็กำลังใช้รางลูกแก้วอธิบายเรื่องความน่าจะเป็นให้เด็ก ๆ อยู่ พอมาเห็นสิ่งนี้บน HN ก็เหมือนมีคนอ่านใจฉันออก

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

    • คำว่า 'ชวนสะกดจิต' นี่ใช่เลย ผู้คนมักถูกดึงดูดโดยสัญชาตญาณต่อสิ่งเร้าทางสายตาที่เปลี่ยนแปลงอย่างไม่สม่ำเสมอ
      เปลวไฟ คลื่น การไหลของแม่น้ำ หน้าจอโทรทัศน์ ล้วนทำให้เราจ้องมองได้นานด้วยเหตุผลเดียวกัน
      รางลูกแก้วนี้จริง ๆ แล้วเป็นระบบที่คาดเดาได้ แต่กลับยังดูเพลินอย่างน่าประหลาด
    • ถ้าเปิดเสียงด้วยจะยิ่งอินมากขึ้น
  • อยากเห็นเวอร์ชันที่ใส่ LED ในวัสดุสีขาวหรือโปร่งใส ด้วย น่าจะเหมือนถนนสายรุ้งเลย

  • ฉันก็กำลังทำโปรเจกต์คล้าย ๆ กันอยู่
    ใช้ Python, Build123D และเครื่องพิมพ์ 3D เพื่อสร้าง รางลูกแก้วแบบ procedural generation

  • สงสัยว่าถ้าเทคนิคนี้ขยายต่อไป จะเปิดโอกาสให้เกิด ความคิดสร้างสรรค์ในระดับไหน ได้บ้าง
    เช่น อาคารที่ประกอบกันเป็นบล็อก ๆ หรือโลกจริงแบบ Minecraft

    • ชวนสงสัยว่าจะมี รถไฟเหาะแบบ procedural generation อยู่ด้วยไหม
    • ตอนนี้ก็มีการลองทำ บ้านพิมพ์ 3D กันแล้วจริง ๆ มีทั้งต้นแบบที่สร้างบ้านได้ในไม่กี่วัน และประสิทธิภาพการก่อสร้างก็สูงมาก
    • ในการ์ตูน Blame! มีแนวคิดว่า หลังมนุษย์สูญหายไป หุ่นยนต์ยังคงก่อสร้างแบบ procedural ต่อไปจนเกิดเป็น เมกะสตรักเชอร์ (Megastructure) ขนาดยักษ์ที่ต่อเนื่องจากโลกไปถึงดาวพฤหัสบดี
      และในภาพยนตร์ Fracture ก็มีเครื่องกลลูกแก้วเจ๋ง ๆ ปรากฏอยู่ด้วย
      ลิงก์ YouTube