- 3D प्रिंटिंग और procedural generation को मिलाकर जटिल संरचना वाली कलाकृति बनाने वाला प्रोजेक्ट
- बेतरतीब ढंग से रखे गए बिंदुओं को spline से जोड़कर ढलान और turning radius को नियंत्रित करने वाले path generation algorithm से बना
- speed control और friction की समस्या हल करने के लिए minimum turning radius और अतिरिक्त banking लागू कर track की स्थिरता सुनिश्चित की गई
- supports को particle system आधारित तरीके से generate किया गया, ताकि सौंदर्यात्मक रूप और संरचनात्मक स्थिरता दोनों का ध्यान रखा जा सके
- प्रोजेक्ट OpenSCAD की सीमाओं से आगे गया, और आगे SDF आधारित rewrite और speed modeling में सुधार की योजना है
प्रोजेक्ट अवलोकन
- Marble Fountain procedural generation तकनीक का उपयोग करके 3D प्रिंटर से प्रिंट किया गया एक जटिल कलात्मक संरचनात्मक ऑब्जेक्ट है
- Formlabs में शामिल होने के बाद उच्च-प्रदर्शन प्रिंटर का उपयोग संभव हुआ, जिससे बड़े algorithmic structures बनाने की कोशिश की गई
- इसे “सबसे जटिल कलाकृति” बनाने के लक्ष्य के साथ डिज़ाइन किया गया था
- 3D प्रिंटिंग में जटिलता लागत को प्रभावित नहीं करती, और डिज़ाइन की सीमा CAD पर काम करने में लगने वाले समय से तय होती है
ट्रैक (Tracks)
- शुरुआती सिस्टम बेतरतीब point placement → spline connection → स्थिर ढलान देना तरीके पर आधारित था
- पहला संस्करण सिर्फ ठोस संरचना से tube निकालने जैसा था, लेकिन आगे विस्तार के लिए path solver जोड़ा गया
- path solver ऊपर और नीचे को जोड़ने वाली बेतरतीब line segments की श्रृंखला से शुरू होता है
- शुरुआती स्थितियाँ संरचना के आकार पर बड़ा असर डालती हैं, इसलिए algorithm के कई रूपों के साथ प्रयोग किया गया
- path points निम्न नियमों का पालन करते हैं
- bounding box के भीतर बने रहना
- समान अंतर बनाए रखना
- एक निश्चित ऊँचाई की ओर खिंचाव के साथ स्थिर ढलान बनाए रखना
- minimum और maximum turning radius की सीमा
- दूसरे tracks और अपने ही track के दूर के हिस्सों से पारस्परिक प्रतिकर्षण
- ढलान में बदलाव को नरम करना और ढलान बढ़ने से रोकना
- speed control की समस्या अपेक्षा से अधिक जटिल निकली
- marble point mass की तरह नहीं चलता, और track की banking में बदलाव rotational inertia और friction को प्रभावित करता है
- सीधे हिस्सों में speed बहुत बढ़ जाती है, और तीखे मोड़ों पर धीमा होकर रुकने का खतरा बनता है
- समाधान के रूप में minimum turning radius तय करना और अतिरिक्त banking लागू करना इस्तेमाल किया गया ताकि speed खर्च हो सके
- lift संरचना ball screw की तरह काम करती है
- marble screw shaft को चारों ओर से constrain करता है, इसलिए ऊपर bearing के बिना भी rotation संभव है
- जब marble सिर्फ एक तरफ हो तो बहुत तेज कंपन पैदा होता है, जिससे सभी marbles track से बाहर निकल जाते हैं; यह एक failure mode था
सपोर्ट्स (Supports)
- supports generation को particle system आधारित top-down iterative process के रूप में लागू किया गया
- structural collisions से ज्यादा समय सौंदर्यात्मक रूप को समायोजित करने में लगाया गया
- प्रिंटर की overhang क्षमता का सक्रिय रूप से उपयोग किया गया
- हर support के व्यवहार के नियम
- दूरी और आकार की समानता के आधार पर दूसरे supports की ओर आकर्षण
- दूसरे supports से प्रतिकर्षण
- bounding box के भीतर बने रहना
- संरचना के केंद्र से एक निश्चित radius बनाए रखना
- supports में inertia होता है, जिसकी वजह से मेहराबदार वक्र संरचनाएँ बनती हैं
आगे की योजना (Looking forward)
- अंतिम model को export करने में 5~20 मिनट लगते हैं
- OpenSCAD की सीमाओं के कारण optimization की गुंजाइश है
- आगे SDF library आधारित rewrite पर विचार है
- मौजूदा सिस्टम में speed estimation feature नहीं है, इसलिए यह साधारण heuristics पर निर्भर है
- camera आधारित speed measurement से acceleration model बनाकर समय बचाया जा सकता है
- स्थिर ढलान बनाए रखना collision से बचाव के लिए प्रतिकूल है, लेकिन speed control के लिए ज़रूरी है
- उस critical point (response curve) की खोज की योजना है जहाँ सतह पर फिसलन शुरू होती है
पुनरावलोकन (Looking back)
- फ़रवरी 2024 से सितंबर 2024 तक लगभग 7 महीनों में चला यह सबसे बड़ा व्यक्तिगत प्रोजेक्ट था
- प्रदर्शनी (New Alliance Gallery, Somerville) में प्रस्तुत करने की तैयारी के कारण आखिर में बहुत तेज़ी से काम हुआ
- प्रदर्शनी के दौरान प्रति घंटा 2~3 marbles खो जाते थे, और motor overheating के कारण इसे कुछ घंटों तक ही चलाया जा सकता था
- अत्यधिक काम के कारण प्रोजेक्ट रोक दिया गया और एक साल बाद सार्वजनिक किया गया
- सहकर्मी Alex की सलाह, feedback, और countless marble experiments के लिए आभार व्यक्त किया गया
तकनीकी सारांश
- उपयोग की गई तकनीकें: Procedural Generation, 3D Printing, Python, OpenSCAD
- संरचनात्मक विशेषताएँ: path solver algorithm + particle आधारित support system
- कलात्मक लक्ष्य: यांत्रिक जटिलता और सौंदर्यात्मक वक्रों का संयोजन
- मूल पाठ में अतिरिक्त जानकारी नहीं है
1 टिप्पणियां
Hacker News की राय
particle simulation का उपयोग करके जैविक पेड़-जैसी support structure बनाने का तरीका सच में बहुत रचनात्मक है
मेरी समझ के अनुसार, इसमें physics laws को define करके ‘time’ axis को z-axis पर map कर simulation चलाया गया है
यह कोई पहले से ज्ञात तरीका है, या फिर इन्होंने खुद बनाया है, यह जानने की जिज्ञासा है। किसी भी तरह, नतीजे की सौंदर्यपूर्ण गुणवत्ता शानदार है और मैं खुद इसे आज़माना चाहूँगा
marble fountain डिज़ाइनर अगर computer का उपयोग न करें, तो उन्हें अक्सर marble derailment problem का सामना करना पड़ता है
marble के track से उछलकर बाहर निकलने या अटकने को देखकर वजह का अनुमान लगाना पड़ता है और फिर हाथ से adjustment करना पड़ता है
लेकिन इस काम में यह बात प्रभावशाली है कि marble कई घंटों तक track से बाहर नहीं निकलते
track दो rails से बना है, इसलिए marble हमेशा दो बिंदुओं पर contact में रहता है
शायद असली कुंजी perfect banking (झुकाव) बनाए रखना है, ताकि gravity और centrifugal force में संतुलन रहे
track को बहुत आक्रामक तरीके से झुकाया गया है, ताकि marble बहुत तेज़ न हो जाएँ या बाहर न उछलें
इसलिए सभी marble लगभग एक ही गति से smoothly नीचे आते हैं
फिर भी हर 30 मिनट में लगभग एक marble उतर जाता है। मैं वीडियो रिकॉर्ड करके समस्या वाले हिस्से ढूँढता हूँ, और हाथ से adjust करने के बजाय generator code को बदलकर फिर से print करके इसे बेहतर बनाया है
camera feedback loop जोड़ने पर भी विचार कर रहा हूँ, लेकिन वह शायद एक अलग project बन जाएगा
यह काम सच में बहुत सुंदर है। अगर track का उपयोग करके audio को encode/decode किया जा सके, तो वह बहुत शानदार होगा
यानी marble की movement से अलग-अलग frequencies पैदा की जाएँ
शायद थोड़ा अधिक flexible material या बड़े bearings इस्तेमाल किए जाएँ तो यह संभव हो, लेकिन फिलहाल मैं सामान्य version को पूरा करने पर ध्यान दे रहा था
YouTube लिंक
मुझे लगता है कि यह 3D printer के आदर्श उपयोग मामले का एक बेहतरीन उदाहरण है
इतनी smoothly चलने वाली marble track और इतनी जैविक आकृतियाँ किसी और तरीके से बनानी हों, तो बहुत भारी मेहनत लगती
वीडियो बहुत बढ़िया बनाया गया है। साधारण voiceover और music sync, और काम खुद ही सब कुछ समझा देता है। शानदार
मुझे यह काम बहुत पसंद आया। इसमें ‘अजीब तरह से संतोषजनक’ तत्व भरे हुए हैं
मैं भी बच्चों को probability समझाने के लिए marble track का उपयोग कर रहा था, और इसे HN पर देखकर लगा जैसे किसी ने मेरे मन की बात पढ़ ली हो
इसकी सादगी के साथ सम्मोहक और सुंदर movement बहुत प्रभावशाली है
आग की लपटें, लहरें, नदी का बहाव, TV screen — इन्हें भी हम लंबे समय तक उसी वजह से देखते रहते हैं
यह marble track दरअसल एक अनुमानित system है, फिर भी इसे देखते रहना अजीब तरह से आकर्षक है
मैं सफ़ेद या transparent material में LED लगे हुए version भी देखना चाहूँगा। वह किसी rainbow road जैसा लगेगा
मैं भी इसी तरह के एक project पर काम कर रहा हूँ
Python, Build123D और 3D printer का उपयोग करके procedural generation आधारित marble track बना रहा हूँ
अगर यह तकनीक scale हो जाए, तो इससे किस स्तर की रचनात्मक scale संभव हो सकती है, यह सोचने लायक है
जैसे blocks में assemble होने वाली इमारतें, मानो real-world Minecraft
और फ़िल्म Fracture में भी एक शानदार marble contraption आता है
YouTube लिंक