Cayley pind
Sissejuhatus
Ülesandeks on modelleerida Cayley pind ning valmistada mudel ette 3D printimiseks.
Kuna tegu on matemaatilise kujundiga, siis seda pole võimalik modelleerida kasutades tavapäraseid 3D modelleerimis-tarkvarasid (SolidEdge, Blender, jms). Matemaatilise kujundi modelleerimiseks valisin tarkvara nimega Sagemath. Tegu on vabavaralise tarkvaraga ning sobilik paljudeks magemaatilisteks tegevustest, sh ka 3D mudeli genereerimiseks. Enne Sagemathi allalaadimist tutvusin ka dokumentatsiooniga, mille alusel peaks 3D mudeli genereerimine käima üsna lihtsalt.
Mudeli genereerimine
Matemaatilisi 3D mudelite loomiseks võetakse alus kujundi valem. Antud juhul leidsin sobivaks valemiks:
Kuna Sagemath tarkvaraga varasemalt kokkupuudet ei ole, siis olin valmis mitmeteks katsetusteks, et leida sobiv meetod. Allpool tabelis on välja toodud kõik katsetused, mis kulusid lõpliku 3D mudeli genereerimiseks. Tabelis on välja toodud ka koodijupp, millega vastav tulemus saavutati, niiet igal huvilisel peaks olema võimalik tulemust taasluua.
Allpool toon välja mõned olulised punktid oma mõttekäigust, kuidas lõpuks korrektse tulemuseni jõudsin.
2. katsetus
Peale 2. katsetust mõtlesin, et ehk peab valemit teisendama, et valem oleks kujul z=.... Selleks pöördusin Wolfram Alpha poole sisestades sinna alloleva käsu:
w*x*y+x*y*z+y*z*w+z*w*x=0 solve for z
Vastuseks sain valemi soovitud kujul ning katsed jätkusid.
6. katsetus
Peale 6. katsetust mõistsin, et samamoodi jätkata ei saa ning proovisin uut lähenemist, defineerides ära muutuja ‘w’ väärtuse. See oli hetk, peale mida hakkasin saama reaalseid 3D kujundeid. Paraku ei olnud kujundid päris sellised, nagu vaja.
11. katsetus
Peale 11. katsetust mõistsin, et olen ikka valel teel, ning uurisin dokumentatsioonist, kuidas kolme muutujaga võrrandit modelleerida. Leidsin mõned head koodijupid, mida asusin katsetama.
17. katsetus
Peale 17. katsetust mõistsin, et mul on vaja valem ikkagi saada teisele kujule, sest praegu oli valemis neli muutujat. Internetis ringi kolades jõudsin leheküljele, kust leitsin Cayley pinna valemi kolme muutujaga. Proovides selle valemiga modelleerida, sain koheselt õige kujundi.
Viimane katsetus (katsetus nr 20) selle kujundiga oli teha joonis detailsemaks, peale mida oli korralik mudel olemas. Viimane samm oli see kujund veel eksportida STL formaadis, et seda oleks võimalik 3D printida. Selleks tuli olemasolevale funktsioonile veel salvestamise funktsionaalsus juurde lisada ning eesmärk oligi täidetud. Kõige viimane tegevus oli veel luua ülimalt kõrge resolutsiooniga mudel. Seda viimast käsku teostas igati moodne arvuti ligi 30 minutit ning tulemiks oli väga mahukas fail, kuid seda lähemalt uurides tekitas see faili maht suuremat probleemi, kui mudeli detailsuse võit seda väärt oli, seega sai kasutatud eelviimast faili.
3D mudeli modifitseerimine
Mudelit lähemalt uurides avastasin 2 suurt probleemi:
3D mudel koosneb tegelikult viiest eraldiseisvast jupist, mis ei ole omavahel ühendatud.
3D mudelil puudus paksus.
Esimene probleem, mida hakkasin lahendama, oli 3D mudelile paksuse tekitamine. Sagemath’ist eksporditud kujul oli mudel sisuliselt nagu paberileht, mis on kindla kujuga - selline mudel ei ole aga kahjuks 3D prinditav. Mudelile paksuse tekitamiseks kasutasin Solidworks tarkvara. Protsess nägi välja selline: .stl fail koosneb triangle mesh'ist. See on vaja convertida quad meshiks. Selleks programm Autodesk reCap Photo. Sealt eksportida .obj fail ja importida see Fusion360 programmi. Seal konvertida see T-spline'ks, see omakorda Brep'iks. See eksportida .step faili ning importida Solidworksi. Solidworksis on juba mudel vabalt muudetav.
Mudelit lähemalt uurides on näha, et mudel koosneb tegelikult viiest osast, kuid 4 nendest on täpselt ühesugused. Ehk et mudelil on kaks erisugust kujundit.
Kuna mudeli erinevad osad ei ole omavahel seotud, siis oli järgmine ülesanne mõelda välja potentsiaalne lahendus nende omavahel ühendamiseks. Selleks sai välja mõeldud, et välimised osad tuleks keskmise osaga kinnitada kruvidega. Selleks tuli modelleerida sobiv koht kruvile.
Keskmisele osale sai loodud samuti augud kruvide jaoks - sügavusega 20mm, läbimõõduga 2mm.
Aluse loomine
Kui kujundi ettevalmistustööd olid tehtud, oli aeg luua kujundile ka alus. Võrreldes muude 3D mudeliga seotud töödega oli aluse tegemine võrdlemisi lihtne.
3D printimine
Kahjuks ülemaailmse pandeemia tõttu olid Eestis ka ülikoolid kinni ning 3D printimiseni enne aruande koostamist ei jõudnud.
Õppetunnid, kogemused
Suurim õppetund, mida töö käigus õppisin, oli see, et Cayley pind on kombinatsioon kahest faktorist, mis muudavad kujundi 3D printimise keeruliseks:
Pind, millel puudub paksus ning mis ei ole suletud keha
Kujund, mis koosneb mitmest omavahel lahkus olevast osast
Antud kujundi puhul küll sai potentsiaalne lahendus mitme osa kokkuliitmiseks välja mõeldud, kuid kuna 3D printida polnud võimalik, siis jäi see valideerimata. Kõigi eelduste kohaselt see oleks pidanud kenasti toimima, kuid lõpptulemus ei oleks olnud “matemaatiliselt korrektne”.