Giter Site home page Giter Site logo

recompfig's Introduction

Date: Apr. 26. 2022 written by Humphrey Yang ([email protected]) This file is subjected to changes.

  1. Ownership

    This code is uploaded and maintained by the Morphing Matter Lab at Carnegie Mellon University (CMU). Please cite this work using this DOI: https://doi.org/10.1145/3491102.3502065 This implementation is for academic and noncommerical uses only. Please contact the author and CMU's Center for Technology Transfer and Enterprise Creation if you are interested in using this software for commercial uses. See "LICENSE.pdf" for more information.

  2. Dependencies:

    2a. System requirements The design tool only rans on Windows because it requires Human UI, which currently only supports Windows.

    2b. For the design tool Rhinoceros 3D version 7SR15 with grasshopper. Other versions may be compatible with the software but are not guraranteed. Human UI version 0.8.1.3 for grasshopper GH_CPython version 0.1-alpha for grasshopper Python 3.9.7 (installed through Anaconda3) scipy 1.7.1 numpy 1.20.3 sympy 1.9

  3. Usage instructions:

    3a. parameters.py This file contains the parameters used by the design tool.

    3b. Starting to use the software Install the dependencies. While installing Python and/or Anaconda, make sure to add the executable to PATH environments. Make sure to choose the correct python interpreter in GH_CPython before loading the design tool.

    3c. Using the design tool Run Rhinoceros 3D and grasshopper to lauch the script "UI.gh". When launching the design tool, a user interface will pop up and promt the user to locate the folder contraining the design tool.

    3d. Design tool tutorial A brief walkthrough for the design tool provided by the authors can be found at (coming soon). We also refer users to the paper for more information.

  4. Known issues:

    The system is a work-in-progress prototype to demonstrate the algorithms. The authors will maintain the implementation as much as they are available. If you find any issues that are not listed here while using the tool, please contact the authors.

    4a. Numerical precision The Rhino/grasshopper front end and the python backend uses different versions of Python (2 and 3, respectively), which have very different float number implementations and may sometimes leading to unexpected and erroneous results during linear alebraic computations. The linear solvers may also be unable to fiund solutions due to small numeric deviations. This can potentially be resolved by tuning the error thresholds in parameters.py.

    4b. UI malfunctions The design tool may sometimes stall and become irresponsive to inputs despite the users still being able to click on the command buttons. To avoid this issue, make sure that after completing an action, the command prompt in Rhino is not asking for further input before clicking on another command. If users find themselves in such situation, press ESC to cancel the ongoing command and proceed as normal. Otherwise, rerunning the UI script in grasshopper may also resolve this problem, though the user may have to redo the design.

    4c. Speed The algorithms runs in real time and the authors have optimized the computations as much as possible. Yet, the current implementation is still bottlenecked by the communication overhead between the front- and backend python instances. I.e., the majority of the waiting time comes from the software interface overhead.

    4d. Axis alignment The algorithm should work regardless of axis alignment. However, axis- aligned designs are preffered as the values and calculations are numerically more stable. If the designs are not axis-aligned, the design tool will generate it's own coordinate systems that best suits the design, which may not be axis aligned. In this case, when interpreting the sensor responsiveness diagrams, the x, y, z axis will be based on the system- generated coordinate system, not the model world coordinates.

recompfig's People

Contributors

humphreyhanlinyang avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.