CatenaryCAD: AnArchitecturalDesignTool TeamSixteen DanChak MeganGalbraith AxelKilian 6.837ComputerGraphics
AntonioGaudidesignedcomplexstructuresusing catenarysystems
Beautifulformswerecreatedby suspendingpiecesofstringfromhooks, deformingthemwithweightsandstrings, theninvertingthestructuralelements.
Wecreateddesign softwareforarchitectsinterested inusingcatenarysystems. CADenary
CADenary isimplementedusing C++(physicsmodeling) OpenGL(graphicsrendering) Tcl/Tk(userinterface)
GoalsWeMet Interactivethatrunsinreal-time Realistic-lookingmodelsofobjectsundergravity Hooksandstringsplacedin3Dworld Hooksaccuratelyplacedbothinspaceandonstrings Computedreasonablephysicsforthestrings Canfmipdesigns180degreestoviewasbuildings Goodsoftwaredesign Gooddesignsoftware
GoalsWeDidNotMeet Visualizeexternalandinternalforcesonstringparticles Skinsthatrenderoverthe“wireframe”stringstructures Abilitytosavemodelsfor3Dprinting ImplementingOpenNURBs
HowWeApproachedtheProject
cdObject cdParticle ry Geomet ion PhysicsSimulat aModel Dat cdParticleBucket cdParticleSystem a,b cdParticleEntry cdForceEntry cdForce cdSpring pos cdModel cdWeight cdString cdSkyHook cdStringHook cdHook a,b LineSegment Vect ProgramDataModel
Tcl/TkUserInterface CreateanewSkyHook CreateanewStringHook CreateanewString Selectanobject Viewtheparametersofanobject Spinthesimulation180degrees Real-timegraphicswindow Interactivity
PhysicsSimulation Spring-ParticleSystem ChoseRunge-Kuttasolver(explicit) Producesreasonablyrobustsolutions Susceptibletobreakingwithscalechangesor excessivestress Lackofconservationoflengthmeansastring stretches1.5timesthe“atrest”length Systemunstableifstiffnessparameterisset beyond1
WhatWeLearned Howtocodeinanunfamiliarlanguages Challengesofrendering3Dspacesandmaintaining believableinteractionswithobjectsinthespace Importanttochooseappropriatesolversbasedonspeed requirements,robustness,andrequiredprecisionofthe calculations Physicssimulationscanbetrickyin3D Team(andcode)managementskills
WhatWeWishWeCouldChange C++maynothavebeentherightchoice...Java? Useoneunifjedlanguageforallaspectsoftheprogram Createtheabilitytodevelopthecodeonavarietyofplatforms ratherthanonlyLinux
IndividualContributions Dan Settingupthedevelopmentenvironment WritingthecodethatbindstheC++classeswiththeUI Megan BuildingtheuserinterfaceinTcl/Tk Puttingtogetherthewrittenreportandpresentation Axel Buildingthephysicssimulation/stringmodelsinC++
Deliverables CADenaryprogramwithbasicfeatures Javaversionsoftheparticlesystem Collectionofshortmovies Sourcecode FinalProjectPaper(.pdf) FinalPresentation(.pdf)
CADenary
JavaTests
ShortMovies 1 2 3 4
TheEnd!
Recommend
More recommend