2024-08-28 22:07:43 +08:00
|
|
|
---
|
|
|
|
title: mbcp.mp_math.segment
|
|
|
|
---
|
|
|
|
### **class** `Segment3`
|
|
|
|
### *method* `__init__(self, p1: Point3, p2: Point3)`
|
|
|
|
|
|
|
|
|
2024-08-29 13:46:59 +08:00
|
|
|
|
|
|
|
**説明**: 三维空间中的线段。
|
2024-08-28 22:07:43 +08:00
|
|
|
:param p1:
|
|
|
|
:param p2:
|
|
|
|
|
|
|
|
|
|
|
|
<details>
|
2024-08-29 13:46:59 +08:00
|
|
|
<summary> <b>源碼</b> </summary>
|
2024-08-28 22:07:43 +08:00
|
|
|
|
|
|
|
```python
|
|
|
|
def __init__(self, p1: 'Point3', p2: 'Point3'):
|
|
|
|
"""
|
|
|
|
三维空间中的线段。
|
|
|
|
:param p1:
|
|
|
|
:param p2:
|
|
|
|
"""
|
|
|
|
self.p1 = p1
|
|
|
|
self.p2 = p2
|
|
|
|
'方向向量'
|
|
|
|
self.direction = self.p2 - self.p1
|
|
|
|
'长度'
|
|
|
|
self.length = self.direction.length
|
|
|
|
'中心点'
|
|
|
|
self.midpoint = Point3((self.p1.x + self.p2.x) / 2, (self.p1.y + self.p2.y) / 2, (self.p1.z + self.p2.z) / 2)
|
|
|
|
```
|
|
|
|
</details>
|
|
|
|
|