docs: 添加shape:点、线、矩形、圆等文档

This commit is contained in:
songsenand 2024-01-26 23:26:32 +08:00
parent abb493193b
commit b9dcbe1d56
1 changed files with 110 additions and 0 deletions

110
doc/shape.md Normal file
View File

@ -0,0 +1,110 @@
# ToyDesigner形状Shape
> 源码:[shape.py](https://gitea.winkinshly.site/songsenand/ToyDesigner/blob/main/toydesigner/shape.py)
## 点Point
点是 ToyDesigner 中最基本的形状,它代表着坐标系中的一个点。声明方式为`point = Point(x, y)`,参数`x`和`y`分别代表着该点的横坐标和纵坐标。
> 注意ToyDesigner 中的坐标系为直角坐标系。
```python
# 示例
from toydesigner.shape import Point
# 声明一个点
point = Point(1, 2)
# 打印点的坐标
print(point.x, point.y) # 1 2
# 弹出GUI展示点的位置
point.show()
```
## 直线Line
直线是由两个点组成的线段。
声明方式为`line = Line(point1, point2)`,参数`point1`和`point2`分别是该线段的两个端点。也可使用`line = Line((x1, y1), (x2, y2))`,参数`x1`、`y1`、`x2`、`y2`分别是该直线的两个端点的横、纵坐标。
> 注意直线的两个端点必须是不同的点。否则将会抛出ValuError异常。
```python
# 示例
from toydesigner.shape import Point, Line
# 声明两个点
point1 = Point(1, 2)
point2 = Point(3, 4)
# 声明一个直线
line = Line(point1, point2)
# 另一种写法
line = Line((1, 2), (3, 4))
```
## 矩形Rectangle
矩形是由两个点组成的矩形,它可以用来绘制矩形、圆角矩形等图形。
声明方式为`rectangle = Rectangle(point1, point2)`,参数`point1`和`point2`分别是该矩形左上角和右下角两个端点,也可使用`rectangle = Rectangle((x1, y1), (x2, y2))`,参数`x1`、`y1`、`x2`、`y2`分别是该矩形左上角和右下角两个端点的横、纵坐标。
> 注意矩形的两个端点必须是不同的点。否则将会抛出ValuError异常。
```python
# 示例
from toydesigner.shape import Point, Rectangle
# 声明两个点
point1 = Point(1, 2)
point2 = Point(3, 4)
# 声明一个矩形
rectangle = Rectangle(point1, point2)
# 另一种写法
rectangle = Rectangle((1, 2), (3, 4))
```
## 圆Circle
圆是由中心点和半径组成的图形。
声明方式为`circle = Circle(center, radius)`,参数`center`是该圆的中心点,参数`radius`是该圆的半径,也可使用`circle = Circle((x, y), r)`,参数`x`、`y`是该圆的中心点的横、纵坐标,参数`r`是该圆的半径。
> 注意radius必须大于0。否则将会抛出ValueError异常。
```python
# 示例
from toydesigner.shape import Point, Circle
# 声明一个中心点和半径
center = Point(1, 2)
radius = 3
# 声明一个圆
circle = Circle(center, radius)
# 另一种写法
circle = Circle((1, 2), 3)
```
## 多边形Polygon
多边形是由多个点组成的图形。
声明方式为`polygon = Polygon(points)`,参数`points`是该多边形的点列表,列表中的每个元素都是一个点。也可使用`tuple(x, y)`代替`Point(x, y)`,声明方式为`polygon = Polygon([(x1, y1), (x2, y2), (x3, y3), ...])`,参数`x1`、`y1`、`x2`、`y2`、`x3`、`y3`分别是该多边形的点的横、纵坐标。
```python
# 示例
from toydesigner.shape import Point, Polygon
# 声明点列表
points = [Point(1, 2), Point(3, 4), Point(5, 6)]
# 声明一个多边形
polygon = Polygon(points)
# 另一种写法
polygon = Polygon([(1, 2), (3, 4), (5, 6)])
```