index.html 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461
  1. <!doctype html>
  2. <html lang="en" class="no-js">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width,initial-scale=1">
  6. <link rel="shortcut icon" href="../assets/images/favicon.png">
  7. <meta name="generator" content="mkdocs-1.1.2, mkdocs-material-5.5.3">
  8. <title>Presentation - Jypyter Sketcher</title>
  9. <link rel="stylesheet" href="../assets/stylesheets/main.947af8d5.min.css">
  10. <link href="https://fonts.gstatic.com" rel="preconnect" crossorigin>
  11. <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700%7CRoboto+Mono&display=fallback">
  12. <style>body,input{font-family:"Roboto",-apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono",SFMono-Regular,Consolas,Menlo,monospace}</style>
  13. </head>
  14. <body dir="ltr">
  15. <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
  16. <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
  17. <label class="md-overlay" for="__drawer"></label>
  18. <div data-md-component="skip">
  19. <a href="#problem-solved" class="md-skip">
  20. Skip to content
  21. </a>
  22. </div>
  23. <div data-md-component="announce">
  24. </div>
  25. <header class="md-header" data-md-component="header">
  26. <nav class="md-header-nav md-grid" aria-label="Header">
  27. <a href=".." title="Jypyter Sketcher" class="md-header-nav__button md-logo" aria-label="Jypyter Sketcher">
  28. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 003-3 3 3 0 00-3-3 3 3 0 00-3 3 3 3 0 003 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54z"/></svg>
  29. </a>
  30. <label class="md-header-nav__button md-icon" for="__drawer">
  31. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2z"/></svg>
  32. </label>
  33. <div class="md-header-nav__title" data-md-component="header-title">
  34. <div class="md-header-nav__ellipsis">
  35. <span class="md-header-nav__topic md-ellipsis">
  36. Jypyter Sketcher
  37. </span>
  38. <span class="md-header-nav__topic md-ellipsis">
  39. Presentation
  40. </span>
  41. </div>
  42. </div>
  43. <label class="md-header-nav__button md-icon" for="__search">
  44. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0116 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 019.5 16 6.5 6.5 0 013 9.5 6.5 6.5 0 019.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5z"/></svg>
  45. </label>
  46. <div class="md-search" data-md-component="search" role="dialog">
  47. <label class="md-search__overlay" for="__search"></label>
  48. <div class="md-search__inner" role="search">
  49. <form class="md-search__form" name="search">
  50. <input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" data-md-state="active">
  51. <label class="md-search__icon md-icon" for="__search">
  52. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0116 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 019.5 16 6.5 6.5 0 013 9.5 6.5 6.5 0 019.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5z"/></svg>
  53. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg>
  54. </label>
  55. <button type="reset" class="md-search__icon md-icon" aria-label="Clear" data-md-component="search-reset" tabindex="-1">
  56. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"/></svg>
  57. </button>
  58. </form>
  59. <div class="md-search__output">
  60. <div class="md-search__scrollwrap" data-md-scrollfix>
  61. <div class="md-search-result" data-md-component="search-result">
  62. <div class="md-search-result__meta">
  63. Initializing search
  64. </div>
  65. <ol class="md-search-result__list"></ol>
  66. </div>
  67. </div>
  68. </div>
  69. </div>
  70. </div>
  71. </nav>
  72. </header>
  73. <div class="md-container" data-md-component="container">
  74. <main class="md-main" data-md-component="main">
  75. <div class="md-main__inner md-grid">
  76. <div class="md-sidebar md-sidebar--primary" data-md-component="navigation">
  77. <div class="md-sidebar__scrollwrap">
  78. <div class="md-sidebar__inner">
  79. <nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
  80. <label class="md-nav__title" for="__drawer">
  81. <a href=".." title="Jypyter Sketcher" class="md-nav__button md-logo" aria-label="Jypyter Sketcher">
  82. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 003-3 3 3 0 00-3-3 3 3 0 00-3 3 3 3 0 003 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54z"/></svg>
  83. </a>
  84. Jypyter Sketcher
  85. </label>
  86. <ul class="md-nav__list" data-md-scrollfix>
  87. <li class="md-nav__item">
  88. <a href=".." title="Home" class="md-nav__link">
  89. Home
  90. </a>
  91. </li>
  92. <li class="md-nav__item">
  93. <a href="../about/" title="About" class="md-nav__link">
  94. About
  95. </a>
  96. </li>
  97. <li class="md-nav__item md-nav__item--active">
  98. <input class="md-nav__toggle md-toggle" data-md-toggle="toc" type="checkbox" id="__toc">
  99. <label class="md-nav__link md-nav__link--active" for="__toc">
  100. Presentation
  101. <span class="md-nav__icon md-icon">
  102. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 9h14V7H3v2m0 4h14v-2H3v2m0 4h14v-2H3v2m16 0h2v-2h-2v2m0-10v2h2V7h-2m0 6h2v-2h-2v2z"/></svg>
  103. </span>
  104. </label>
  105. <a href="./" title="Presentation" class="md-nav__link md-nav__link--active">
  106. Presentation
  107. </a>
  108. <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
  109. <label class="md-nav__title" for="__toc">
  110. <span class="md-nav__icon md-icon">
  111. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg>
  112. </span>
  113. Table of contents
  114. </label>
  115. <ul class="md-nav__list" data-md-scrollfix>
  116. <li class="md-nav__item">
  117. <a href="#problem-solved" class="md-nav__link">
  118. Problem solved
  119. </a>
  120. </li>
  121. <li class="md-nav__item">
  122. <a href="#getting-started" class="md-nav__link">
  123. Getting Started
  124. </a>
  125. </li>
  126. <li class="md-nav__item">
  127. <a href="#pysketcher-features" class="md-nav__link">
  128. pysketcher features
  129. </a>
  130. </li>
  131. <li class="md-nav__item">
  132. <a href="#main-benefit" class="md-nav__link">
  133. Main benefit
  134. </a>
  135. </li>
  136. </ul>
  137. </nav>
  138. </li>
  139. <li class="md-nav__item">
  140. <a href="../learningbyexample/" title="Learning by Example" class="md-nav__link">
  141. Learning by Example
  142. </a>
  143. </li>
  144. <li class="md-nav__item">
  145. <a href="../shapereference/" title="Shapes Reference" class="md-nav__link">
  146. Shapes Reference
  147. </a>
  148. </li>
  149. <li class="md-nav__item">
  150. <a href="../yamlsketcher/" title="YAML files Reference" class="md-nav__link">
  151. YAML files Reference
  152. </a>
  153. </li>
  154. <li class="md-nav__item">
  155. <a href="../gallerydoc/" title="Gallery" class="md-nav__link">
  156. Gallery
  157. </a>
  158. </li>
  159. </ul>
  160. </nav>
  161. </div>
  162. </div>
  163. </div>
  164. <div class="md-sidebar md-sidebar--secondary" data-md-component="toc">
  165. <div class="md-sidebar__scrollwrap">
  166. <div class="md-sidebar__inner">
  167. <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
  168. <label class="md-nav__title" for="__toc">
  169. <span class="md-nav__icon md-icon">
  170. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg>
  171. </span>
  172. Table of contents
  173. </label>
  174. <ul class="md-nav__list" data-md-scrollfix>
  175. <li class="md-nav__item">
  176. <a href="#problem-solved" class="md-nav__link">
  177. Problem solved
  178. </a>
  179. </li>
  180. <li class="md-nav__item">
  181. <a href="#getting-started" class="md-nav__link">
  182. Getting Started
  183. </a>
  184. </li>
  185. <li class="md-nav__item">
  186. <a href="#pysketcher-features" class="md-nav__link">
  187. pysketcher features
  188. </a>
  189. </li>
  190. <li class="md-nav__item">
  191. <a href="#main-benefit" class="md-nav__link">
  192. Main benefit
  193. </a>
  194. </li>
  195. </ul>
  196. </nav>
  197. </div>
  198. </div>
  199. </div>
  200. <div class="md-content">
  201. <article class="md-content__inner md-typeset">
  202. <h1>Presentation</h1>
  203. <h2 id="problem-solved">Problem solved</h2>
  204. <p>When you need to address a mechanical design problem, sooner or later you are going to sketch a figure to capture problem's parameters and variables.</p>
  205. <p>The better documented, the easier the problem is to resolve for the designer, and the easier it is for others to understand how it is actually solved.</p>
  206. <p>What if you could capture this in the program solving the problem and use it as a repository for all definitions and physical variables?</p>
  207. <p>This is what jupytersketcher (name of pysketcher module) is proposing to solve.</p>
  208. <p>Of course, this makes even more sense when using Jupyter notebooks, because as a sketch not only the image of the solved problem can be displayed, but the dictionary of all variables processed in the notebook for solving physics is used to draw the image and at the same time to solve the equations of motion.</p>
  209. <p>jupytersketcher is another small step to help building reusable science.</p>
  210. <h2 id="getting-started">Getting Started</h2>
  211. <p>You can use the binder link in jupytersketcher Github to make some experiments with pysketcher.
  212. <a href="https://mybinder.org/v2/gh/gbrault/jupytersketcher.git/master?filepath=notebooks%2FDryFriction.ipynb"><img alt="Binder" src="https://mybinder.org/badge_logo.svg" /></a></p>
  213. <h2 id="pysketcher-features">pysketcher features</h2>
  214. <ul>
  215. <li>Drawing sketches on a matplotlib widget for Jupyter Notebook server or Lab</li>
  216. <li>Defining a yaml based "grammar" to define sketches and simplify reuse</li>
  217. <li>Animating sketches within Jupyter notebooks</li>
  218. </ul>
  219. <h2 id="main-benefit">Main benefit</h2>
  220. <p>With Pysketcher for Jupyter mechanical notebooks, you get a single copy of the description of the problem which is as well a space to solve the system physics and display how it works</p>
  221. </article>
  222. </div>
  223. </div>
  224. </main>
  225. <footer class="md-footer">
  226. <div class="md-footer-nav">
  227. <nav class="md-footer-nav__inner md-grid" aria-label="Footer">
  228. <a href="../about/" title="About" class="md-footer-nav__link md-footer-nav__link--prev" rel="prev">
  229. <div class="md-footer-nav__button md-icon">
  230. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg>
  231. </div>
  232. <div class="md-footer-nav__title">
  233. <div class="md-ellipsis">
  234. <span class="md-footer-nav__direction">
  235. Previous
  236. </span>
  237. About
  238. </div>
  239. </div>
  240. </a>
  241. <a href="../learningbyexample/" title="Learning by Example" class="md-footer-nav__link md-footer-nav__link--next" rel="next">
  242. <div class="md-footer-nav__title">
  243. <div class="md-ellipsis">
  244. <span class="md-footer-nav__direction">
  245. Next
  246. </span>
  247. Learning by Example
  248. </div>
  249. </div>
  250. <div class="md-footer-nav__button md-icon">
  251. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4z"/></svg>
  252. </div>
  253. </a>
  254. </nav>
  255. </div>
  256. <div class="md-footer-meta md-typeset">
  257. <div class="md-footer-meta__inner md-grid">
  258. <div class="md-footer-copyright">
  259. Made with
  260. <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
  261. Material for MkDocs
  262. </a>
  263. </div>
  264. </div>
  265. </div>
  266. </footer>
  267. </div>
  268. <script src="../assets/javascripts/vendor.c3dc8c49.min.js"></script>
  269. <script src="../assets/javascripts/bundle.f9edbbd5.min.js"></script><script id="__lang" type="application/json">{"clipboard.copy": "Copy to clipboard", "clipboard.copied": "Copied to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.result.placeholder": "Type to start searching", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents"}</script>
  270. <script>
  271. app = initialize({
  272. base: "..",
  273. features: [],
  274. search: Object.assign({
  275. worker: "../assets/javascripts/worker/search.8e2cddea.min.js"
  276. }, typeof search !== "undefined" && search)
  277. })
  278. </script>
  279. <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/MathJax.js?config=TeX-MML-AM_CHTML"></script>
  280. </body>
  281. </html>