|
|
@@ -1,4 +1,22 @@
|
|
|
+## List of Shapes
|
|
|
+
|
|
|
+[Code to display shapes](#code-to-display-the-above-defined-shapes)
|
|
|
+
|
|
|
+- [Line](#line): defines a line providing start and end point
|
|
|
+- [Rectangle](#rectangle): defines a rectangle providing bottom left corner, x dimension, y dimension
|
|
|
+- [Triangle](#triangle): defines a triangle providing three corner
|
|
|
+- [Circle](#circle): defines a circle proving center and radius
|
|
|
+- [Distance with text](#distance-with-text): defines a sizing mark with a label
|
|
|
+- [Text](#text): defines a given text positionned at the provided point
|
|
|
+- [Cross](#cross): defines a cross positionned at the provided point
|
|
|
+- [Axis](#axis): defines an axis at the given point with a given label
|
|
|
+- [Arc](#arc): defines an Arc providing a center point, a radius, a starting angle and an angle (rotates clock-wise)
|
|
|
+- [](#)
|
|
|
+- [](#)
|
|
|
+- [](#)
|
|
|
+
|
|
|
## Line
|
|
|
+[home](#list-of-shapes) Defines a line providing start and end point
|
|
|
### Yaml
|
|
|
```yaml
|
|
|
A: point(-5,-5)
|
|
|
@@ -13,6 +31,7 @@ line = Line(A,B)
|
|
|
```
|
|
|

|
|
|
## Rectangle
|
|
|
+[home](#list-of-shapes) Defines a rectangle providing bottom left corner, x dimension, y dimension
|
|
|
### Yaml
|
|
|
```yaml
|
|
|
L: 8
|
|
|
@@ -29,6 +48,7 @@ rectangle = Rectangle(p,L,h)
|
|
|
```
|
|
|

|
|
|
## Circle
|
|
|
+[home](#list-of-shapes) Defines a circle proving center and radius
|
|
|
### Yaml
|
|
|
```yaml
|
|
|
circle: Circle(point(0,0),5)
|
|
|
@@ -39,6 +59,7 @@ circle = Circle(point(0,0),5)
|
|
|
```
|
|
|

|
|
|
## Triangle
|
|
|
+[home](#list-of-shapes) Defines a triangle providing three corner
|
|
|
### Yaml
|
|
|
```yaml
|
|
|
L: 3.0
|
|
|
@@ -53,6 +74,7 @@ triangle = Triangle(p1=(W/2,0), p2=(3*W/2,W/2), p3=(4*W/5.,L))
|
|
|
```
|
|
|

|
|
|
## Distance with text
|
|
|
+[home](#list-of-shapes) Defines a sizing mark with a label
|
|
|
### Yaml
|
|
|
```yaml
|
|
|
fontsize: 14
|
|
|
@@ -67,6 +89,7 @@ dwt = Distance_wText((-4,0), (8, 5), t, fontsize)
|
|
|
```
|
|
|

|
|
|
## Text
|
|
|
+[home](#list-of-shapes) Defines a given text positionned at the provided point
|
|
|
### Yaml
|
|
|
```yaml
|
|
|
text: Text(r'$c$', point(0,0))
|
|
|
@@ -76,45 +99,56 @@ text: Text(r'$c$', point(0,0))
|
|
|
text = Text(r'$c$', point(0,0))
|
|
|
```
|
|
|

|
|
|
-## Cross (self designed)
|
|
|
+## Cross
|
|
|
+[home](#list-of-shapes) Defines a cross positionned at the provided point
|
|
|
### Yaml
|
|
|
```yaml
|
|
|
-c: point(0,0)
|
|
|
-l: 0.1
|
|
|
-line1: Line(c+point(-l,l),c+point(l,-l))
|
|
|
-line2: Line(c+point(l,l), c+point(-l,-l))
|
|
|
-cross:
|
|
|
- formula: "Composition({'line1': line1, 'line2': line2})"
|
|
|
- style:
|
|
|
- linecolor: black
|
|
|
- linewidth: 1
|
|
|
+cross: Cross(point(0,0))
|
|
|
```
|
|
|
### Python
|
|
|
```python
|
|
|
-c = point(0,0)
|
|
|
-l = 0.1
|
|
|
-line1 = Line(c+point(-l,l),c+point(l,-l))
|
|
|
-line2 = Line(c+point(l,l), c+point(-l,-l))
|
|
|
-cross = Composition({'line1': line1, 'line2': line2})
|
|
|
-cross.set_linecolor('black')
|
|
|
-cross.set_linewidth(1)
|
|
|
+cross = Cross(point(1,0))
|
|
|
```
|
|
|

|
|
|
|
|
|
-## Cross (from shapes)
|
|
|
+## Axis
|
|
|
+[home](#list-of-shapes) Defines an axis at the given point with a given label
|
|
|
### Yaml
|
|
|
```yaml
|
|
|
-cross1: Cross(point(0,0))
|
|
|
+axis: Axis((0,0), 5, 'x', rotation_angle=0)
|
|
|
```
|
|
|
### Python
|
|
|
```python
|
|
|
-cross = Cross(point(1,0))
|
|
|
+axis = Axis((0,0), 5, 'x', rotation_angle=0)
|
|
|
```
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
+## Arc
|
|
|
+[home](#list-of-shapes) Defines an Arc providing a center point, a radius, a starting angle and an angle (rotates clock-wise)
|
|
|
+### Yaml
|
|
|
+```yaml
|
|
|
+center: point(0,0)
|
|
|
+radius: 1
|
|
|
+angle: 120
|
|
|
+start_angle: 180-angle
|
|
|
+arc_angle: angle
|
|
|
+arc: Arc(center, radius, start_angle, arc_angle)
|
|
|
+```
|
|
|
+### Python
|
|
|
+```python
|
|
|
+center = point(0,0)
|
|
|
+radius = 1
|
|
|
+angle = 120
|
|
|
+start_angle = 180-angle
|
|
|
+arc_angle = angle
|
|
|
+arc = Arc(center, radius, start_angle, arc_angle)
|
|
|
+```
|
|
|
+
|
|
|
+
|
|
|
+## Code to display the above defined shapes
|
|
|
|
|
|
-## Code initialization
|
|
|
+[home](#list-of-shapes) In order to display the various shapes, use the following code in a jupyter notebook
|
|
|
|
|
|
-Using the following framework in a jupyter notebook
|
|
|
|
|
|
```python
|
|
|
[1]: %matplotlib widget
|
|
|
@@ -122,15 +156,15 @@ Using the following framework in a jupyter notebook
|
|
|
[3]: drawing_tool.set_coordinate_system(xmin=-10, xmax=10,ymin=-10, ymax=10,axis=True)
|
|
|
[4]: drawing_tool.mpl.gcf().canvas
|
|
|
```
|
|
|
-for Yaml, you need the added steps
|
|
|
+for Yaml, you need to add those extra steps
|
|
|
|
|
|
```python
|
|
|
head = """\
|
|
|
libraries: ["from math import tan, radians, sin, cos","from pysketcher import *"]
|
|
|
-"""
|
|
|
myfig={}
|
|
|
sketchParse(head,myfig)
|
|
|
```
|
|
|
+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)
|
|
|
|
|
|
### Yaml
|
|
|
|