index.html 46 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973
  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>Shapes Reference - 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="#list-of-shapes" 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. Shapes Reference
  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">
  98. <a href="../presentation/" title="Presentation" class="md-nav__link">
  99. Presentation
  100. </a>
  101. </li>
  102. <li class="md-nav__item">
  103. <a href="../learningbyexample/" title="Learning by Example" class="md-nav__link">
  104. Learning by Example
  105. </a>
  106. </li>
  107. <li class="md-nav__item md-nav__item--active">
  108. <input class="md-nav__toggle md-toggle" data-md-toggle="toc" type="checkbox" id="__toc">
  109. <label class="md-nav__link md-nav__link--active" for="__toc">
  110. Shapes Reference
  111. <span class="md-nav__icon md-icon">
  112. <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>
  113. </span>
  114. </label>
  115. <a href="./" title="Shapes Reference" class="md-nav__link md-nav__link--active">
  116. Shapes Reference
  117. </a>
  118. <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
  119. <label class="md-nav__title" for="__toc">
  120. <span class="md-nav__icon md-icon">
  121. <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>
  122. </span>
  123. Table of contents
  124. </label>
  125. <ul class="md-nav__list" data-md-scrollfix>
  126. <li class="md-nav__item">
  127. <a href="#list-of-shapes" class="md-nav__link">
  128. List of Shapes
  129. </a>
  130. </li>
  131. <li class="md-nav__item">
  132. <a href="#line" class="md-nav__link">
  133. Line
  134. </a>
  135. <nav class="md-nav" aria-label="Line">
  136. <ul class="md-nav__list">
  137. <li class="md-nav__item">
  138. <a href="#yaml" class="md-nav__link">
  139. Yaml
  140. </a>
  141. </li>
  142. <li class="md-nav__item">
  143. <a href="#python" class="md-nav__link">
  144. Python
  145. </a>
  146. </li>
  147. </ul>
  148. </nav>
  149. </li>
  150. <li class="md-nav__item">
  151. <a href="#rectangle" class="md-nav__link">
  152. Rectangle
  153. </a>
  154. <nav class="md-nav" aria-label="Rectangle">
  155. <ul class="md-nav__list">
  156. <li class="md-nav__item">
  157. <a href="#yaml_1" class="md-nav__link">
  158. Yaml
  159. </a>
  160. </li>
  161. <li class="md-nav__item">
  162. <a href="#python_1" class="md-nav__link">
  163. Python
  164. </a>
  165. </li>
  166. </ul>
  167. </nav>
  168. </li>
  169. <li class="md-nav__item">
  170. <a href="#circle" class="md-nav__link">
  171. Circle
  172. </a>
  173. <nav class="md-nav" aria-label="Circle">
  174. <ul class="md-nav__list">
  175. <li class="md-nav__item">
  176. <a href="#yaml_2" class="md-nav__link">
  177. Yaml
  178. </a>
  179. </li>
  180. <li class="md-nav__item">
  181. <a href="#python_2" class="md-nav__link">
  182. Python
  183. </a>
  184. </li>
  185. </ul>
  186. </nav>
  187. </li>
  188. <li class="md-nav__item">
  189. <a href="#triangle" class="md-nav__link">
  190. Triangle
  191. </a>
  192. <nav class="md-nav" aria-label="Triangle">
  193. <ul class="md-nav__list">
  194. <li class="md-nav__item">
  195. <a href="#yaml_3" class="md-nav__link">
  196. Yaml
  197. </a>
  198. </li>
  199. <li class="md-nav__item">
  200. <a href="#python_3" class="md-nav__link">
  201. Python
  202. </a>
  203. </li>
  204. </ul>
  205. </nav>
  206. </li>
  207. <li class="md-nav__item">
  208. <a href="#distance-with-text" class="md-nav__link">
  209. Distance with text
  210. </a>
  211. <nav class="md-nav" aria-label="Distance with text">
  212. <ul class="md-nav__list">
  213. <li class="md-nav__item">
  214. <a href="#yaml_4" class="md-nav__link">
  215. Yaml
  216. </a>
  217. </li>
  218. <li class="md-nav__item">
  219. <a href="#python_4" class="md-nav__link">
  220. Python
  221. </a>
  222. </li>
  223. </ul>
  224. </nav>
  225. </li>
  226. <li class="md-nav__item">
  227. <a href="#text" class="md-nav__link">
  228. Text
  229. </a>
  230. <nav class="md-nav" aria-label="Text">
  231. <ul class="md-nav__list">
  232. <li class="md-nav__item">
  233. <a href="#yaml_5" class="md-nav__link">
  234. Yaml
  235. </a>
  236. </li>
  237. <li class="md-nav__item">
  238. <a href="#python_5" class="md-nav__link">
  239. Python
  240. </a>
  241. </li>
  242. </ul>
  243. </nav>
  244. </li>
  245. <li class="md-nav__item">
  246. <a href="#cross" class="md-nav__link">
  247. Cross
  248. </a>
  249. <nav class="md-nav" aria-label="Cross">
  250. <ul class="md-nav__list">
  251. <li class="md-nav__item">
  252. <a href="#yaml_6" class="md-nav__link">
  253. Yaml
  254. </a>
  255. </li>
  256. <li class="md-nav__item">
  257. <a href="#python_6" class="md-nav__link">
  258. Python
  259. </a>
  260. </li>
  261. </ul>
  262. </nav>
  263. </li>
  264. <li class="md-nav__item">
  265. <a href="#axis" class="md-nav__link">
  266. Axis
  267. </a>
  268. <nav class="md-nav" aria-label="Axis">
  269. <ul class="md-nav__list">
  270. <li class="md-nav__item">
  271. <a href="#yaml_7" class="md-nav__link">
  272. Yaml
  273. </a>
  274. </li>
  275. <li class="md-nav__item">
  276. <a href="#python_7" class="md-nav__link">
  277. Python
  278. </a>
  279. </li>
  280. </ul>
  281. </nav>
  282. </li>
  283. <li class="md-nav__item">
  284. <a href="#arc" class="md-nav__link">
  285. Arc
  286. </a>
  287. <nav class="md-nav" aria-label="Arc">
  288. <ul class="md-nav__list">
  289. <li class="md-nav__item">
  290. <a href="#yaml_8" class="md-nav__link">
  291. Yaml
  292. </a>
  293. </li>
  294. <li class="md-nav__item">
  295. <a href="#python_8" class="md-nav__link">
  296. Python
  297. </a>
  298. </li>
  299. </ul>
  300. </nav>
  301. </li>
  302. <li class="md-nav__item">
  303. <a href="#arc_wtext" class="md-nav__link">
  304. Arc_wText
  305. </a>
  306. <nav class="md-nav" aria-label="Arc_wText">
  307. <ul class="md-nav__list">
  308. <li class="md-nav__item">
  309. <a href="#yaml_9" class="md-nav__link">
  310. Yaml
  311. </a>
  312. </li>
  313. <li class="md-nav__item">
  314. <a href="#python_9" class="md-nav__link">
  315. Python
  316. </a>
  317. </li>
  318. </ul>
  319. </nav>
  320. </li>
  321. <li class="md-nav__item">
  322. <a href="#arrow1" class="md-nav__link">
  323. Arrow1
  324. </a>
  325. <nav class="md-nav" aria-label="Arrow1">
  326. <ul class="md-nav__list">
  327. <li class="md-nav__item">
  328. <a href="#yaml_10" class="md-nav__link">
  329. Yaml
  330. </a>
  331. </li>
  332. <li class="md-nav__item">
  333. <a href="#python_10" class="md-nav__link">
  334. Python
  335. </a>
  336. </li>
  337. </ul>
  338. </nav>
  339. </li>
  340. <li class="md-nav__item">
  341. <a href="#force" class="md-nav__link">
  342. Force
  343. </a>
  344. <nav class="md-nav" aria-label="Force">
  345. <ul class="md-nav__list">
  346. <li class="md-nav__item">
  347. <a href="#yaml_11" class="md-nav__link">
  348. Yaml
  349. </a>
  350. </li>
  351. <li class="md-nav__item">
  352. <a href="#python_11" class="md-nav__link">
  353. Python
  354. </a>
  355. </li>
  356. </ul>
  357. </nav>
  358. </li>
  359. <li class="md-nav__item">
  360. <a href="#wall" class="md-nav__link">
  361. Wall
  362. </a>
  363. <nav class="md-nav" aria-label="Wall">
  364. <ul class="md-nav__list">
  365. <li class="md-nav__item">
  366. <a href="#yaml_12" class="md-nav__link">
  367. Yaml
  368. </a>
  369. </li>
  370. <li class="md-nav__item">
  371. <a href="#python_12" class="md-nav__link">
  372. Python
  373. </a>
  374. </li>
  375. </ul>
  376. </nav>
  377. </li>
  378. <li class="md-nav__item">
  379. <a href="#curve" class="md-nav__link">
  380. Curve
  381. </a>
  382. <nav class="md-nav" aria-label="Curve">
  383. <ul class="md-nav__list">
  384. <li class="md-nav__item">
  385. <a href="#yaml_13" class="md-nav__link">
  386. Yaml
  387. </a>
  388. </li>
  389. <li class="md-nav__item">
  390. <a href="#python_13" class="md-nav__link">
  391. Python
  392. </a>
  393. </li>
  394. </ul>
  395. </nav>
  396. </li>
  397. <li class="md-nav__item">
  398. <a href="#gravity" class="md-nav__link">
  399. Gravity
  400. </a>
  401. <nav class="md-nav" aria-label="Gravity">
  402. <ul class="md-nav__list">
  403. <li class="md-nav__item">
  404. <a href="#yaml_14" class="md-nav__link">
  405. Yaml
  406. </a>
  407. </li>
  408. <li class="md-nav__item">
  409. <a href="#python_14" class="md-nav__link">
  410. Python
  411. </a>
  412. </li>
  413. </ul>
  414. </nav>
  415. </li>
  416. <li class="md-nav__item">
  417. <a href="#moment" class="md-nav__link">
  418. Moment
  419. </a>
  420. <nav class="md-nav" aria-label="Moment">
  421. <ul class="md-nav__list">
  422. <li class="md-nav__item">
  423. <a href="#yaml_15" class="md-nav__link">
  424. Yaml
  425. </a>
  426. </li>
  427. <li class="md-nav__item">
  428. <a href="#python_15" class="md-nav__link">
  429. Python
  430. </a>
  431. </li>
  432. </ul>
  433. </nav>
  434. </li>
  435. <li class="md-nav__item">
  436. <a href="#text_warrow" class="md-nav__link">
  437. Text_wArrow
  438. </a>
  439. <nav class="md-nav" aria-label="Text_wArrow">
  440. <ul class="md-nav__list">
  441. <li class="md-nav__item">
  442. <a href="#yaml_16" class="md-nav__link">
  443. Yaml
  444. </a>
  445. </li>
  446. <li class="md-nav__item">
  447. <a href="#python_16" class="md-nav__link">
  448. Python
  449. </a>
  450. </li>
  451. </ul>
  452. </nav>
  453. </li>
  454. <li class="md-nav__item">
  455. <a href="#wheel" class="md-nav__link">
  456. Wheel
  457. </a>
  458. <nav class="md-nav" aria-label="Wheel">
  459. <ul class="md-nav__list">
  460. <li class="md-nav__item">
  461. <a href="#yaml_17" class="md-nav__link">
  462. Yaml
  463. </a>
  464. </li>
  465. <li class="md-nav__item">
  466. <a href="#python_17" class="md-nav__link">
  467. Python
  468. </a>
  469. </li>
  470. </ul>
  471. </nav>
  472. </li>
  473. <li class="md-nav__item">
  474. <a href="#spring" class="md-nav__link">
  475. Spring
  476. </a>
  477. <nav class="md-nav" aria-label="Spring">
  478. <ul class="md-nav__list">
  479. <li class="md-nav__item">
  480. <a href="#yaml_18" class="md-nav__link">
  481. Yaml
  482. </a>
  483. </li>
  484. <li class="md-nav__item">
  485. <a href="#python_18" class="md-nav__link">
  486. Python
  487. </a>
  488. </li>
  489. </ul>
  490. </nav>
  491. </li>
  492. <li class="md-nav__item">
  493. <a href="#dashpot" class="md-nav__link">
  494. Dashpot
  495. </a>
  496. <nav class="md-nav" aria-label="Dashpot">
  497. <ul class="md-nav__list">
  498. <li class="md-nav__item">
  499. <a href="#yaml_19" class="md-nav__link">
  500. Yaml
  501. </a>
  502. </li>
  503. <li class="md-nav__item">
  504. <a href="#python_19" class="md-nav__link">
  505. Python
  506. </a>
  507. </li>
  508. </ul>
  509. </nav>
  510. </li>
  511. <li class="md-nav__item">
  512. <a href="#code-to-display-the-above-defined-shapes" class="md-nav__link">
  513. Code to display the above defined shapes
  514. </a>
  515. <nav class="md-nav" aria-label="Code to display the above defined shapes">
  516. <ul class="md-nav__list">
  517. <li class="md-nav__item">
  518. <a href="#yaml_20" class="md-nav__link">
  519. Yaml
  520. </a>
  521. </li>
  522. <li class="md-nav__item">
  523. <a href="#python_20" class="md-nav__link">
  524. Python
  525. </a>
  526. </li>
  527. </ul>
  528. </nav>
  529. </li>
  530. </ul>
  531. </nav>
  532. </li>
  533. <li class="md-nav__item">
  534. <a href="../yamlsketcher/" title="YAML files Reference" class="md-nav__link">
  535. YAML files Reference
  536. </a>
  537. </li>
  538. <li class="md-nav__item">
  539. <a href="../gallerydoc/" title="Gallery" class="md-nav__link">
  540. Gallery
  541. </a>
  542. </li>
  543. </ul>
  544. </nav>
  545. </div>
  546. </div>
  547. </div>
  548. <div class="md-sidebar md-sidebar--secondary" data-md-component="toc">
  549. <div class="md-sidebar__scrollwrap">
  550. <div class="md-sidebar__inner">
  551. <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
  552. <label class="md-nav__title" for="__toc">
  553. <span class="md-nav__icon md-icon">
  554. <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>
  555. </span>
  556. Table of contents
  557. </label>
  558. <ul class="md-nav__list" data-md-scrollfix>
  559. <li class="md-nav__item">
  560. <a href="#list-of-shapes" class="md-nav__link">
  561. List of Shapes
  562. </a>
  563. </li>
  564. <li class="md-nav__item">
  565. <a href="#line" class="md-nav__link">
  566. Line
  567. </a>
  568. <nav class="md-nav" aria-label="Line">
  569. <ul class="md-nav__list">
  570. <li class="md-nav__item">
  571. <a href="#yaml" class="md-nav__link">
  572. Yaml
  573. </a>
  574. </li>
  575. <li class="md-nav__item">
  576. <a href="#python" class="md-nav__link">
  577. Python
  578. </a>
  579. </li>
  580. </ul>
  581. </nav>
  582. </li>
  583. <li class="md-nav__item">
  584. <a href="#rectangle" class="md-nav__link">
  585. Rectangle
  586. </a>
  587. <nav class="md-nav" aria-label="Rectangle">
  588. <ul class="md-nav__list">
  589. <li class="md-nav__item">
  590. <a href="#yaml_1" class="md-nav__link">
  591. Yaml
  592. </a>
  593. </li>
  594. <li class="md-nav__item">
  595. <a href="#python_1" class="md-nav__link">
  596. Python
  597. </a>
  598. </li>
  599. </ul>
  600. </nav>
  601. </li>
  602. <li class="md-nav__item">
  603. <a href="#circle" class="md-nav__link">
  604. Circle
  605. </a>
  606. <nav class="md-nav" aria-label="Circle">
  607. <ul class="md-nav__list">
  608. <li class="md-nav__item">
  609. <a href="#yaml_2" class="md-nav__link">
  610. Yaml
  611. </a>
  612. </li>
  613. <li class="md-nav__item">
  614. <a href="#python_2" class="md-nav__link">
  615. Python
  616. </a>
  617. </li>
  618. </ul>
  619. </nav>
  620. </li>
  621. <li class="md-nav__item">
  622. <a href="#triangle" class="md-nav__link">
  623. Triangle
  624. </a>
  625. <nav class="md-nav" aria-label="Triangle">
  626. <ul class="md-nav__list">
  627. <li class="md-nav__item">
  628. <a href="#yaml_3" class="md-nav__link">
  629. Yaml
  630. </a>
  631. </li>
  632. <li class="md-nav__item">
  633. <a href="#python_3" class="md-nav__link">
  634. Python
  635. </a>
  636. </li>
  637. </ul>
  638. </nav>
  639. </li>
  640. <li class="md-nav__item">
  641. <a href="#distance-with-text" class="md-nav__link">
  642. Distance with text
  643. </a>
  644. <nav class="md-nav" aria-label="Distance with text">
  645. <ul class="md-nav__list">
  646. <li class="md-nav__item">
  647. <a href="#yaml_4" class="md-nav__link">
  648. Yaml
  649. </a>
  650. </li>
  651. <li class="md-nav__item">
  652. <a href="#python_4" class="md-nav__link">
  653. Python
  654. </a>
  655. </li>
  656. </ul>
  657. </nav>
  658. </li>
  659. <li class="md-nav__item">
  660. <a href="#text" class="md-nav__link">
  661. Text
  662. </a>
  663. <nav class="md-nav" aria-label="Text">
  664. <ul class="md-nav__list">
  665. <li class="md-nav__item">
  666. <a href="#yaml_5" class="md-nav__link">
  667. Yaml
  668. </a>
  669. </li>
  670. <li class="md-nav__item">
  671. <a href="#python_5" class="md-nav__link">
  672. Python
  673. </a>
  674. </li>
  675. </ul>
  676. </nav>
  677. </li>
  678. <li class="md-nav__item">
  679. <a href="#cross" class="md-nav__link">
  680. Cross
  681. </a>
  682. <nav class="md-nav" aria-label="Cross">
  683. <ul class="md-nav__list">
  684. <li class="md-nav__item">
  685. <a href="#yaml_6" class="md-nav__link">
  686. Yaml
  687. </a>
  688. </li>
  689. <li class="md-nav__item">
  690. <a href="#python_6" class="md-nav__link">
  691. Python
  692. </a>
  693. </li>
  694. </ul>
  695. </nav>
  696. </li>
  697. <li class="md-nav__item">
  698. <a href="#axis" class="md-nav__link">
  699. Axis
  700. </a>
  701. <nav class="md-nav" aria-label="Axis">
  702. <ul class="md-nav__list">
  703. <li class="md-nav__item">
  704. <a href="#yaml_7" class="md-nav__link">
  705. Yaml
  706. </a>
  707. </li>
  708. <li class="md-nav__item">
  709. <a href="#python_7" class="md-nav__link">
  710. Python
  711. </a>
  712. </li>
  713. </ul>
  714. </nav>
  715. </li>
  716. <li class="md-nav__item">
  717. <a href="#arc" class="md-nav__link">
  718. Arc
  719. </a>
  720. <nav class="md-nav" aria-label="Arc">
  721. <ul class="md-nav__list">
  722. <li class="md-nav__item">
  723. <a href="#yaml_8" class="md-nav__link">
  724. Yaml
  725. </a>
  726. </li>
  727. <li class="md-nav__item">
  728. <a href="#python_8" class="md-nav__link">
  729. Python
  730. </a>
  731. </li>
  732. </ul>
  733. </nav>
  734. </li>
  735. <li class="md-nav__item">
  736. <a href="#arc_wtext" class="md-nav__link">
  737. Arc_wText
  738. </a>
  739. <nav class="md-nav" aria-label="Arc_wText">
  740. <ul class="md-nav__list">
  741. <li class="md-nav__item">
  742. <a href="#yaml_9" class="md-nav__link">
  743. Yaml
  744. </a>
  745. </li>
  746. <li class="md-nav__item">
  747. <a href="#python_9" class="md-nav__link">
  748. Python
  749. </a>
  750. </li>
  751. </ul>
  752. </nav>
  753. </li>
  754. <li class="md-nav__item">
  755. <a href="#arrow1" class="md-nav__link">
  756. Arrow1
  757. </a>
  758. <nav class="md-nav" aria-label="Arrow1">
  759. <ul class="md-nav__list">
  760. <li class="md-nav__item">
  761. <a href="#yaml_10" class="md-nav__link">
  762. Yaml
  763. </a>
  764. </li>
  765. <li class="md-nav__item">
  766. <a href="#python_10" class="md-nav__link">
  767. Python
  768. </a>
  769. </li>
  770. </ul>
  771. </nav>
  772. </li>
  773. <li class="md-nav__item">
  774. <a href="#force" class="md-nav__link">
  775. Force
  776. </a>
  777. <nav class="md-nav" aria-label="Force">
  778. <ul class="md-nav__list">
  779. <li class="md-nav__item">
  780. <a href="#yaml_11" class="md-nav__link">
  781. Yaml
  782. </a>
  783. </li>
  784. <li class="md-nav__item">
  785. <a href="#python_11" class="md-nav__link">
  786. Python
  787. </a>
  788. </li>
  789. </ul>
  790. </nav>
  791. </li>
  792. <li class="md-nav__item">
  793. <a href="#wall" class="md-nav__link">
  794. Wall
  795. </a>
  796. <nav class="md-nav" aria-label="Wall">
  797. <ul class="md-nav__list">
  798. <li class="md-nav__item">
  799. <a href="#yaml_12" class="md-nav__link">
  800. Yaml
  801. </a>
  802. </li>
  803. <li class="md-nav__item">
  804. <a href="#python_12" class="md-nav__link">
  805. Python
  806. </a>
  807. </li>
  808. </ul>
  809. </nav>
  810. </li>
  811. <li class="md-nav__item">
  812. <a href="#curve" class="md-nav__link">
  813. Curve
  814. </a>
  815. <nav class="md-nav" aria-label="Curve">
  816. <ul class="md-nav__list">
  817. <li class="md-nav__item">
  818. <a href="#yaml_13" class="md-nav__link">
  819. Yaml
  820. </a>
  821. </li>
  822. <li class="md-nav__item">
  823. <a href="#python_13" class="md-nav__link">
  824. Python
  825. </a>
  826. </li>
  827. </ul>
  828. </nav>
  829. </li>
  830. <li class="md-nav__item">
  831. <a href="#gravity" class="md-nav__link">
  832. Gravity
  833. </a>
  834. <nav class="md-nav" aria-label="Gravity">
  835. <ul class="md-nav__list">
  836. <li class="md-nav__item">
  837. <a href="#yaml_14" class="md-nav__link">
  838. Yaml
  839. </a>
  840. </li>
  841. <li class="md-nav__item">
  842. <a href="#python_14" class="md-nav__link">
  843. Python
  844. </a>
  845. </li>
  846. </ul>
  847. </nav>
  848. </li>
  849. <li class="md-nav__item">
  850. <a href="#moment" class="md-nav__link">
  851. Moment
  852. </a>
  853. <nav class="md-nav" aria-label="Moment">
  854. <ul class="md-nav__list">
  855. <li class="md-nav__item">
  856. <a href="#yaml_15" class="md-nav__link">
  857. Yaml
  858. </a>
  859. </li>
  860. <li class="md-nav__item">
  861. <a href="#python_15" class="md-nav__link">
  862. Python
  863. </a>
  864. </li>
  865. </ul>
  866. </nav>
  867. </li>
  868. <li class="md-nav__item">
  869. <a href="#text_warrow" class="md-nav__link">
  870. Text_wArrow
  871. </a>
  872. <nav class="md-nav" aria-label="Text_wArrow">
  873. <ul class="md-nav__list">
  874. <li class="md-nav__item">
  875. <a href="#yaml_16" class="md-nav__link">
  876. Yaml
  877. </a>
  878. </li>
  879. <li class="md-nav__item">
  880. <a href="#python_16" class="md-nav__link">
  881. Python
  882. </a>
  883. </li>
  884. </ul>
  885. </nav>
  886. </li>
  887. <li class="md-nav__item">
  888. <a href="#wheel" class="md-nav__link">
  889. Wheel
  890. </a>
  891. <nav class="md-nav" aria-label="Wheel">
  892. <ul class="md-nav__list">
  893. <li class="md-nav__item">
  894. <a href="#yaml_17" class="md-nav__link">
  895. Yaml
  896. </a>
  897. </li>
  898. <li class="md-nav__item">
  899. <a href="#python_17" class="md-nav__link">
  900. Python
  901. </a>
  902. </li>
  903. </ul>
  904. </nav>
  905. </li>
  906. <li class="md-nav__item">
  907. <a href="#spring" class="md-nav__link">
  908. Spring
  909. </a>
  910. <nav class="md-nav" aria-label="Spring">
  911. <ul class="md-nav__list">
  912. <li class="md-nav__item">
  913. <a href="#yaml_18" class="md-nav__link">
  914. Yaml
  915. </a>
  916. </li>
  917. <li class="md-nav__item">
  918. <a href="#python_18" class="md-nav__link">
  919. Python
  920. </a>
  921. </li>
  922. </ul>
  923. </nav>
  924. </li>
  925. <li class="md-nav__item">
  926. <a href="#dashpot" class="md-nav__link">
  927. Dashpot
  928. </a>
  929. <nav class="md-nav" aria-label="Dashpot">
  930. <ul class="md-nav__list">
  931. <li class="md-nav__item">
  932. <a href="#yaml_19" class="md-nav__link">
  933. Yaml
  934. </a>
  935. </li>
  936. <li class="md-nav__item">
  937. <a href="#python_19" class="md-nav__link">
  938. Python
  939. </a>
  940. </li>
  941. </ul>
  942. </nav>
  943. </li>
  944. <li class="md-nav__item">
  945. <a href="#code-to-display-the-above-defined-shapes" class="md-nav__link">
  946. Code to display the above defined shapes
  947. </a>
  948. <nav class="md-nav" aria-label="Code to display the above defined shapes">
  949. <ul class="md-nav__list">
  950. <li class="md-nav__item">
  951. <a href="#yaml_20" class="md-nav__link">
  952. Yaml
  953. </a>
  954. </li>
  955. <li class="md-nav__item">
  956. <a href="#python_20" class="md-nav__link">
  957. Python
  958. </a>
  959. </li>
  960. </ul>
  961. </nav>
  962. </li>
  963. </ul>
  964. </nav>
  965. </div>
  966. </div>
  967. </div>
  968. <div class="md-content">
  969. <article class="md-content__inner md-typeset">
  970. <h1>Shapes Reference</h1>
  971. <h2 id="list-of-shapes">List of Shapes</h2>
  972. <p><a href="#code-to-display-the-above-defined-shapes">Code to display shapes</a></p>
  973. <ul>
  974. <li><a href="#line">Line</a>: defines a line providing start and end point</li>
  975. <li><a href="#rectangle">Rectangle</a>: defines a rectangle providing bottom left corner, x dimension, y dimension</li>
  976. <li><a href="#triangle">Triangle</a>: defines a triangle providing three corner</li>
  977. <li><a href="#circle">Circle</a>: defines a circle proving center and radius</li>
  978. <li><a href="#distance-with-text">Distance with text</a>: defines a sizing mark with a label </li>
  979. <li><a href="#text">Text</a>: defines a given text positionned at the provided point</li>
  980. <li><a href="#cross">Cross</a>: defines a cross positionned at the provided point</li>
  981. <li><a href="#axis">Axis</a>: defines an axis at the given point with a given label</li>
  982. <li><a href="#arc">Arc</a>: defines an Arc providing a center point, a radius, a starting angle and an angle (rotates clock-wise)</li>
  983. <li><a href="#arc_wtext">Arc_wText</a>: defines an arc with text positionned left (moving clock-wise) of arc half-way</li>
  984. <li><a href="#arrow1">Arrow1</a>: defines a line with arrow(s) given starting and ending point and arrow termination(s) -&gt;, \&lt;-&gt;, \&lt;-</li>
  985. <li><a href="#force">Force</a>: defines an Indication of a force by an arrow and a text (symbol)</li>
  986. <li><a href="#wall">Wall</a>: defines an hached box given starting, ending point and thickness, filled with a pattern</li>
  987. <li><a href="#curve">Curve</a>: defines a general curve as a sequence of (x,y) coordinates</li>
  988. <li><a href="#gravity">Gravity</a>: defines a downward-pointing gravity arrow with the symbol g or user given symbol.</li>
  989. <li><a href="#moment">Moment</a>: defines a Moment arrow with text given text, center and radius</li>
  990. <li><a href="#text_warrow">Text_wArrow</a>: defines Text, but an arrow is drawn from the mid part of the text to some point arrow_tip</li>
  991. <li><a href="#wheel">Wheel</a>: defines Hub and spokes Wheel given center, radius, spokes (default 10), inner_radius(default 1/5 of radius)</li>
  992. <li><a href="#spring">Spring</a>: defines a vertical spring, starting at start and with length as total vertical length</li>
  993. <li><a href="#dashpot">Dashpot</a>: defines a vertical dashpot of height <code>total_length</code> and <code>start</code> as bottom/starting point.</li>
  994. </ul>
  995. <h2 id="line">Line</h2>
  996. <p><a href="#list-of-shapes">home</a> Defines a line providing start and end point</p>
  997. <h3 id="yaml">Yaml</h3>
  998. <pre><code class="yaml">name: line
  999. shapes:
  1000. A: point(-5,-5)
  1001. B: point(5,5)
  1002. line: Line(A,B)
  1003. </code></pre>
  1004. <h3 id="python">Python</h3>
  1005. <pre><code class="python">A = point(-5,-5)
  1006. B = point(5,5)
  1007. line = Line(A,B)
  1008. line.set_name(&quot;line&quot;)
  1009. </code></pre>
  1010. <p><img alt="line" src="../reference/line.svg" /></p>
  1011. <h2 id="rectangle">Rectangle</h2>
  1012. <p><a href="#list-of-shapes">home</a> Defines a rectangle providing bottom left corner, x dimension, y dimension</p>
  1013. <h3 id="yaml_1">Yaml</h3>
  1014. <pre><code class="yaml">name: rectangle
  1015. shapes:
  1016. L: 8
  1017. h: 5
  1018. p: point(-(L/2),-(h/2))
  1019. rectangle: Rectangle(p,L,h)
  1020. </code></pre>
  1021. <h3 id="python_1">Python</h3>
  1022. <pre><code class="python">L = 8
  1023. h = 5
  1024. p = point(-(L/2),-(h/2))
  1025. rectangle = Rectangle(p,L,h)
  1026. rectangle.set_name(&quot;rectangle&quot;)
  1027. </code></pre>
  1028. <p><img alt="rectangle" src="../reference/rectangle.svg" /></p>
  1029. <h2 id="circle">Circle</h2>
  1030. <p><a href="#list-of-shapes">home</a> Defines a circle proving center and radius</p>
  1031. <h3 id="yaml_2">Yaml</h3>
  1032. <pre><code class="yaml">name: circle
  1033. shapes:
  1034. circle: Circle(point(0,0),5)
  1035. </code></pre>
  1036. <h3 id="python_2">Python</h3>
  1037. <pre><code class="python">circle = Circle(point(0,0),5)
  1038. circle.set_name(&quot;circle&quot;)
  1039. </code></pre>
  1040. <p><img alt="circle" src="../reference/circle.svg" /></p>
  1041. <h2 id="triangle">Triangle</h2>
  1042. <p><a href="#list-of-shapes">home</a> Defines a triangle providing three corner</p>
  1043. <h3 id="yaml_3">Yaml</h3>
  1044. <pre><code class="yaml">name: triangle
  1045. shapes:
  1046. L: 3.0
  1047. W: 4.0
  1048. triangle: Triangle(p1=(W/2,0), p2=(3*W/2,W/2), p3=(4*W/5.,L))
  1049. </code></pre>
  1050. <h3 id="python_3">Python</h3>
  1051. <pre><code class="python">L = 3.0
  1052. W = 4.0
  1053. triangle = Triangle(p1=(W/2,0), p2=(3*W/2,W/2), p3=(4*W/5.,L))
  1054. triangle.set_name(&quot;triangle&quot;)
  1055. </code></pre>
  1056. <p><img alt="triangle" src="../reference/triangle.svg" /></p>
  1057. <h2 id="distance-with-text">Distance with text</h2>
  1058. <p><a href="#list-of-shapes">home</a> Defines a sizing mark with a label </p>
  1059. <h3 id="yaml_4">Yaml</h3>
  1060. <pre><code class="yaml">name: dwt
  1061. shapes:
  1062. fontsize: 14
  1063. t: r'$ 2\pi R^2 $' # sample text
  1064. dwt: Distance_wText((-4,0), (8, 5), t, fontsize)
  1065. </code></pre>
  1066. <h3 id="python_4">Python</h3>
  1067. <pre><code class="python">fontsize=14
  1068. t = r'$ 2\pi R^2 $' # sample text
  1069. dwt = Distance_wText((-4,0), (8, 5), t, fontsize)
  1070. dwt.set_name(&quot;dwt&quot;)
  1071. </code></pre>
  1072. <p><img alt="Distance with text" src="../reference/distancewithtext.svg" /></p>
  1073. <h2 id="text">Text</h2>
  1074. <p><a href="#list-of-shapes">home</a> Defines a given text positionned at the provided point</p>
  1075. <h3 id="yaml_5">Yaml</h3>
  1076. <pre><code class="yaml">name: text
  1077. shapes:
  1078. text: Text(r'$c$', point(0,0))
  1079. </code></pre>
  1080. <h3 id="python_5">Python</h3>
  1081. <pre><code class="python">text = Text(r'$c$', point(0,0))
  1082. text.set_name(&quot;text&quot;)
  1083. </code></pre>
  1084. <p><img alt="Text" src="../reference/text.svg" /></p>
  1085. <h2 id="cross">Cross</h2>
  1086. <p><a href="#list-of-shapes">home</a> Defines a cross positionned at the provided point</p>
  1087. <h3 id="yaml_6">Yaml</h3>
  1088. <pre><code class="yaml">name: cross
  1089. shapes:
  1090. cross: Cross(point(0,0))
  1091. </code></pre>
  1092. <h3 id="python_6">Python</h3>
  1093. <pre><code class="python">cross = Cross(point(1,0))
  1094. cross.set_name(&quot;cross&quot;)
  1095. </code></pre>
  1096. <p><img alt="Cross" src="../reference/cross.svg" /></p>
  1097. <h2 id="axis">Axis</h2>
  1098. <p><a href="#list-of-shapes">home</a> Defines an axis at the given point with a given label</p>
  1099. <h3 id="yaml_7">Yaml</h3>
  1100. <pre><code class="yaml">name: axis
  1101. shapes:
  1102. axis: Axis((0,0), 5, 'x', rotation_angle=0)
  1103. </code></pre>
  1104. <h3 id="python_7">Python</h3>
  1105. <pre><code class="python">axis = Axis((0,0), 5, 'x', rotation_angle=0)
  1106. axis.set_name(&quot;axis&quot;)
  1107. </code></pre>
  1108. <p><img alt="Axis" src="../reference/axis.svg" /></p>
  1109. <h2 id="arc">Arc</h2>
  1110. <p><a href="#list-of-shapes">home</a> Defines an Arc providing a center point, a radius, a starting angle and an angle (rotates clock-wise)</p>
  1111. <h3 id="yaml_8">Yaml</h3>
  1112. <pre><code class="yaml">name: arc
  1113. shapes:
  1114. center: point(0,0)
  1115. radius: 1
  1116. angle: 120
  1117. start_angle: 180-angle
  1118. arc_angle: angle
  1119. arc: Arc(center, radius, start_angle, arc_angle)
  1120. </code></pre>
  1121. <h3 id="python_8">Python</h3>
  1122. <pre><code class="python">center = point(0,0)
  1123. radius = 1
  1124. angle = 120
  1125. start_angle = 180-angle
  1126. arc_angle = angle
  1127. arc = Arc(center, radius, start_angle, arc_angle)
  1128. arc.set_name(&quot;arc&quot;)
  1129. </code></pre>
  1130. <p><img alt="Arc" src="../reference/arc.svg" /></p>
  1131. <h2 id="arc_wtext">Arc_wText</h2>
  1132. <p><a href="#list-of-shapes">home</a> Defines an arc with text positionned left (moving clock-wise) of arc half-way</p>
  1133. <h3 id="yaml_9">Yaml</h3>
  1134. <pre><code class="yaml">name: arc_wtxt
  1135. shapes:
  1136. center: point(0,0)
  1137. radius: 1
  1138. angle: 120
  1139. start_angle: 180-angle
  1140. arc_angle: angle
  1141. arc_wtxt: &quot;Arc_wText(r'$&lt;bslash&gt;theta$', center, radius, start_angle, arc_angle)&quot;
  1142. </code></pre>
  1143. <h3 id="python_9">Python</h3>
  1144. <pre><code class="python">center = point(0,0)
  1145. radius = 1
  1146. angle = 120
  1147. start_angle = 180-angle
  1148. arc_angle = angle
  1149. arc_wtxt = Arc_wText(r'$\theta$', center, radius, start_angle, arc_angle)
  1150. arc_wtxt.set_name(&quot;arcwtxt&quot;)
  1151. </code></pre>
  1152. <p><img alt="Arc with Text" src="../reference/arcwtext.svg" /></p>
  1153. <h2 id="arrow1">Arrow1</h2>
  1154. <p><a href="#list-of-shapes">home</a> defines a line with arrow(s) given starting and ending point and arrow termination(s) -&gt;, \&lt;-&gt;, \&lt;-</p>
  1155. <h3 id="yaml_10">Yaml</h3>
  1156. <pre><code class="yaml">name: arrow1
  1157. shapes:
  1158. start: point(0,0)
  1159. end: point(5,5)
  1160. arrow1: Arrow1(start, end, style='&lt;-&gt;')
  1161. </code></pre>
  1162. <h3 id="python_10">Python</h3>
  1163. <pre><code class="python">start = point(0,0)
  1164. end = point(5,5)
  1165. arrow1 = Arrow1(start, end, style='&lt;-&gt;')
  1166. arrow1.set_name(&quot;arrow1&quot;)
  1167. </code></pre>
  1168. <p><img alt="Arrow1" src="../reference/arrow1.svg" /></p>
  1169. <h2 id="force">Force</h2>
  1170. <p><a href="#list-of-shapes">home</a> defines an Indication of a force by an arrow and a text (symbol)</p>
  1171. <h3 id="yaml_11">Yaml</h3>
  1172. <pre><code class="yaml">name: force
  1173. shapes:
  1174. x: 0
  1175. y: 0
  1176. contact: point(x, y)
  1177. vector: point(-3,-5)
  1178. force: Force(contact - vector, contact, r'$Force$', text_pos='start')
  1179. </code></pre>
  1180. <h3 id="python_11">Python</h3>
  1181. <pre><code class="python">x = 0
  1182. y = 0
  1183. contact = point(x, y)
  1184. vector = point(-3,-5)
  1185. force = Force(contact - vector, contact, r'$Force$', text_pos='start')
  1186. force.set_name(&quot;force&quot;)
  1187. </code></pre>
  1188. <p><img alt="Force" src="../reference/force.svg" /></p>
  1189. <h2 id="wall">Wall</h2>
  1190. <p><a href="#list-of-shapes">home</a> defines an hached box given starting, ending point and thickness, filled with a pattern</p>
  1191. <h3 id="yaml_12">Yaml</h3>
  1192. <pre><code class="yaml">name: wall
  1193. shapes:
  1194. theta: 30
  1195. L: 8
  1196. B: point(L-4,-2) # wall right end
  1197. A: point(-4,tan(radians(theta))*L-2) # wall left end
  1198. wall:
  1199. formula: Wall(x=[A[0], B[0]], y=[A[1], B[1]], thickness=-0.5,transparent=False)
  1200. style:
  1201. linecolor: black
  1202. </code></pre>
  1203. <h3 id="python_12">Python</h3>
  1204. <pre><code class="python">theta = 30
  1205. L = 8
  1206. B = point(L-4,-2) # wall right end
  1207. A = point(-4,tan(radians(theta))*L-2) # wall left end
  1208. wall= Wall(x=[A[0], B[0]], y=[A[1], B[1]], thickness=-0.5,transparent=False)
  1209. wall.set_linecolor('black')
  1210. wall.set_name(&quot;wall&quot;)
  1211. </code></pre>
  1212. <p><img alt="Wall" src="../reference/wall.svg" /></p>
  1213. <h2 id="curve">Curve</h2>
  1214. <p><a href="#list-of-shapes">home</a> defines a general curve as a sequence of (x,y) coordinates</p>
  1215. <h3 id="yaml_13">Yaml</h3>
  1216. <pre><code class="yaml">curve=&quot;&quot;&quot;\
  1217. name: curve
  1218. shapes:
  1219. N: 100
  1220. x: np.linspace(-2.0, 2.0, N)
  1221. y: x**3
  1222. curve: Curve(x,y)
  1223. &quot;&quot;&quot;
  1224. </code></pre>
  1225. <h3 id="python_13">Python</h3>
  1226. <pre><code class="python">N = 100
  1227. x = np.linspace(-2.0, 2.0, N)
  1228. y = x**3
  1229. curve = Curve(x,y)
  1230. curve.draw()
  1231. curve.set_name(&quot;curve&quot;)
  1232. </code></pre>
  1233. <p><img alt="Curve" src="../reference/curve.svg" /></p>
  1234. <h2 id="gravity">Gravity</h2>
  1235. <p><a href="#list-of-shapes">home</a> defines a downward-pointing gravity arrow with the symbol g or user given symbol.</p>
  1236. <h3 id="yaml_14">Yaml</h3>
  1237. <pre><code class="yaml">gravity=&quot;&quot;&quot;
  1238. name: gravity
  1239. shapes:
  1240. c: point(0,0)
  1241. r: 2
  1242. gravity:
  1243. formula: Gravity(c, r, text='$Mg$')
  1244. &quot;&quot;&quot;
  1245. </code></pre>
  1246. <h3 id="python_14">Python</h3>
  1247. <pre><code class="python">c = point(0,0)
  1248. r = 2
  1249. gravity = Gravity(c, r, text='$Mg$')
  1250. gravity.set_name(&quot;gravity&quot;)
  1251. </code></pre>
  1252. <p><img alt="Gravity" src="../reference/gravity.svg" /></p>
  1253. <h2 id="moment">Moment</h2>
  1254. <p><a href="#list-of-shapes">home</a> defines a Moment arrow with text given text, center and radius.</p>
  1255. <h3 id="yaml_15">Yaml</h3>
  1256. <pre><code class="yaml">moment=&quot;&quot;&quot;
  1257. name: moment
  1258. shapes:
  1259. moment: Moment(&quot;$T$&quot;, point(0,0), 2)
  1260. &quot;&quot;&quot;
  1261. </code></pre>
  1262. <h3 id="python_15">Python</h3>
  1263. <pre><code class="python">moment = Moment(&quot;$T$&quot;, point(0,0), 2)
  1264. moment.shape_name=&quot;moment&quot;
  1265. </code></pre>
  1266. <p><img alt="Moment" src="../reference/moment.svg" /></p>
  1267. <h2 id="text_warrow">Text_wArrow</h2>
  1268. <p><a href="#list-of-shapes">home</a> Text, but an arrow is drawn from the mid part of the text to some point arrow_tip</p>
  1269. <h3 id="yaml_16">Yaml</h3>
  1270. <pre><code class="yaml">txtarrow=&quot;&quot;&quot;
  1271. name: txtarrow
  1272. shapes:
  1273. txtarrow: Text_wArrow(&quot;$Text$&quot;, point(0,0), point(2,2))
  1274. &quot;&quot;&quot;
  1275. </code></pre>
  1276. <h3 id="python_16">Python</h3>
  1277. <pre><code class="python">txtarrow = Text_wArrow(&quot;$Text$&quot;, point(0,0), point(2,2))
  1278. txtarrow.set_name(&quot;txtarrow&quot;)
  1279. </code></pre>
  1280. <p><img alt="Text_wArrow" src="../reference/textwarrow.svg" /></p>
  1281. <h2 id="wheel">Wheel</h2>
  1282. <p><a href="#list-of-shapes">home</a> Hub and spokes Wheel given center, radius, spokes (default 10), inner_radius(default 1/5 of radius)</p>
  1283. <h3 id="yaml_17">Yaml</h3>
  1284. <pre><code class="yaml">wheel=&quot;&quot;&quot;
  1285. name: wheel
  1286. shapes:
  1287. wheel: Wheel(point(0,0), 5)
  1288. &quot;&quot;&quot;
  1289. </code></pre>
  1290. <h3 id="python_17">Python</h3>
  1291. <pre><code class="python">wheel = Wheel(point(0,0), 5)
  1292. wheel.set_name(&quot;wheel&quot;)
  1293. </code></pre>
  1294. <p><img alt="Wheel" src="../reference/wheel.svg" /></p>
  1295. <h2 id="spring">Spring</h2>
  1296. <p><a href="#list-of-shapes">home</a> Specify a vertical spring, starting at start and with length as total vertical length</p>
  1297. <h3 id="yaml_18">Yaml</h3>
  1298. <pre><code class="yaml">spring=&quot;&quot;&quot;
  1299. name: spring
  1300. shapes:
  1301. spring:
  1302. formula: Spring(point(0,0),5)
  1303. style:
  1304. linecolor: black
  1305. linewidth: 1
  1306. &quot;&quot;&quot;
  1307. </code></pre>
  1308. <h3 id="python_18">Python</h3>
  1309. <pre><code class="python">spring = Spring(point(0,0),5)
  1310. spring.set_linecolor('black')
  1311. spring.set_linewidth(1)
  1312. spring.set_name(&quot;spring&quot;)
  1313. </code></pre>
  1314. <p><img alt="Spring" src="../reference/spring.svg" /></p>
  1315. <h2 id="dashpot">Dashpot</h2>
  1316. <p><a href="#list-of-shapes">home</a> Defines a vertical dashpot of height <code>total_length</code> and <code>start</code> as bottom/starting point.</p>
  1317. <h3 id="yaml_19">Yaml</h3>
  1318. <pre><code class="yaml">dashpot=&quot;&quot;&quot;
  1319. name: dashpot
  1320. shapes:
  1321. dashpot: Dashpot(point(0,0),5)
  1322. &quot;&quot;&quot;
  1323. </code></pre>
  1324. <h3 id="python_19">Python</h3>
  1325. <pre><code class="python">dashpot = Dashpot(point(0,0),5)
  1326. dashpot.set_name(&quot;dashpot&quot;)
  1327. </code></pre>
  1328. <p><img alt="Dashpot" src="../reference/dashpot.svg" /></p>
  1329. <h2 id="code-to-display-the-above-defined-shapes">Code to display the above defined shapes</h2>
  1330. <p><a href="#list-of-shapes">home</a> In order to display the various shapes, use the following code in a jupyter notebook</p>
  1331. <pre><code class="python">[1]: %matplotlib widget
  1332. [2]: from pysketcher import *
  1333. [3]: from math import tan, radians, sin, cos # needed for python code
  1334. [4]: import numpy as np
  1335. [6]: drawing_tool.set_coordinate_system(xmin=-10, xmax=10,ymin=-10, ymax=10,axis=True)
  1336. [5]: drawing_tool.mpl.gcf().canvas
  1337. </code></pre>
  1338. <p>for Yaml, you need to add those extra steps</p>
  1339. <pre><code class="python">head = &quot;&quot;&quot;\
  1340. libraries: [&quot;from math import tan, radians, sin, cos&quot;,&quot;from pysketcher import *&quot;,&quot;import numpy as np&quot;]
  1341. myfig={}
  1342. sketch = Sketch(myfig)
  1343. sketch.append(head)
  1344. </code></pre>
  1345. <p>The above code initialize myfig sketch space loading into it libraries references so samples can use tan, radians, si, cos and all the objects defined in pysketcher (the module name of jupytersketcher) and numpy as well: this is used by the yaml definition of shapes</p>
  1346. <h3 id="yaml_20">Yaml</h3>
  1347. <pre><code class="python">myfig={}
  1348. sketch=&quot;&quot;&quot;
  1349. # put here the yaml 'object' definition
  1350. &quot;&quot;&quot;
  1351. drawing_tool.erase()
  1352. sketch.append(sketch)
  1353. # replace 'object' by the actual one
  1354. d = myfig['object'].draw()
  1355. drawing_tool.display()
  1356. display(SVG(Sketch.matplotlib2SVG()))
  1357. </code></pre>
  1358. <h3 id="python_20">Python</h3>
  1359. <pre><code class="python">drawing_tool.erase()
  1360. # put the code of the object case here
  1361. # replace object by the actual name line, rectangle, circle...
  1362. object.draw()
  1363. drawing_tool.display()
  1364. display(SVG(Sketch.matplotlib2SVG()))
  1365. </code></pre>
  1366. </article>
  1367. </div>
  1368. </div>
  1369. </main>
  1370. <footer class="md-footer">
  1371. <div class="md-footer-nav">
  1372. <nav class="md-footer-nav__inner md-grid" aria-label="Footer">
  1373. <a href="../learningbyexample/" title="Learning by Example" class="md-footer-nav__link md-footer-nav__link--prev" rel="prev">
  1374. <div class="md-footer-nav__button md-icon">
  1375. <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>
  1376. </div>
  1377. <div class="md-footer-nav__title">
  1378. <div class="md-ellipsis">
  1379. <span class="md-footer-nav__direction">
  1380. Previous
  1381. </span>
  1382. Learning by Example
  1383. </div>
  1384. </div>
  1385. </a>
  1386. <a href="../yamlsketcher/" title="YAML files Reference" class="md-footer-nav__link md-footer-nav__link--next" rel="next">
  1387. <div class="md-footer-nav__title">
  1388. <div class="md-ellipsis">
  1389. <span class="md-footer-nav__direction">
  1390. Next
  1391. </span>
  1392. YAML files Reference
  1393. </div>
  1394. </div>
  1395. <div class="md-footer-nav__button md-icon">
  1396. <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>
  1397. </div>
  1398. </a>
  1399. </nav>
  1400. </div>
  1401. <div class="md-footer-meta md-typeset">
  1402. <div class="md-footer-meta__inner md-grid">
  1403. <div class="md-footer-copyright">
  1404. Made with
  1405. <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
  1406. Material for MkDocs
  1407. </a>
  1408. </div>
  1409. </div>
  1410. </div>
  1411. </footer>
  1412. </div>
  1413. <script src="../assets/javascripts/vendor.c3dc8c49.min.js"></script>
  1414. <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>
  1415. <script>
  1416. app = initialize({
  1417. base: "..",
  1418. features: [],
  1419. search: Object.assign({
  1420. worker: "../assets/javascripts/worker/search.8e2cddea.min.js"
  1421. }, typeof search !== "undefined" && search)
  1422. })
  1423. </script>
  1424. <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/MathJax.js?config=TeX-MML-AM_CHTML"></script>
  1425. </body>
  1426. </html>