pfc-geometry 0.2.4__py3-none-any.whl → 0.2.6__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- geometry/base.py +0 -1
- geometry/point.py +3 -5
- {pfc_geometry-0.2.4.dist-info → pfc_geometry-0.2.6.dist-info}/METADATA +9 -6
- {pfc_geometry-0.2.4.dist-info → pfc_geometry-0.2.6.dist-info}/RECORD +7 -7
- {pfc_geometry-0.2.4.dist-info → pfc_geometry-0.2.6.dist-info}/LICENSE +0 -0
- {pfc_geometry-0.2.4.dist-info → pfc_geometry-0.2.6.dist-info}/WHEEL +0 -0
- {pfc_geometry-0.2.4.dist-info → pfc_geometry-0.2.6.dist-info}/top_level.txt +0 -0
geometry/base.py
CHANGED
geometry/point.py
CHANGED
|
@@ -13,7 +13,6 @@ from __future__ import annotations
|
|
|
13
13
|
from .base import Base
|
|
14
14
|
import numpy as np
|
|
15
15
|
import pandas as pd
|
|
16
|
-
from typing import List
|
|
17
16
|
from warnings import warn
|
|
18
17
|
|
|
19
18
|
|
|
@@ -56,6 +55,9 @@ class Point(Base):
|
|
|
56
55
|
def angles(self, p2):
|
|
57
56
|
return (self.cross(p2) / (abs(self) * abs(p2))).arcsin
|
|
58
57
|
|
|
58
|
+
def planar_angles(self):
|
|
59
|
+
return Point(np.arctan2(self.y, self.z), np.arctan2(self.z, self.x), np.arctan2(self.x, self.y))
|
|
60
|
+
|
|
59
61
|
def angle(self, p2):
|
|
60
62
|
return abs(Point.angles(self, p2))
|
|
61
63
|
|
|
@@ -172,10 +174,6 @@ def min_angle_between(p1: Point, p2: Point):
|
|
|
172
174
|
angle = angle_between(p1, p2) % np.pi
|
|
173
175
|
return min(angle, np.pi - angle)
|
|
174
176
|
|
|
175
|
-
@ppmeth
|
|
176
|
-
def angle_between(a: Point, b: Point) -> float:
|
|
177
|
-
return np.arccos(cos_angle_between(a, b))
|
|
178
|
-
|
|
179
177
|
def arbitrary_perpendicular(v: Point) -> Point:
|
|
180
178
|
return Point(-v.y, v.x, 0).unit()
|
|
181
179
|
|
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: pfc_geometry
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.6
|
|
4
4
|
Summary: A package for handling 3D geometry with a nice interface
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
Author-email: Thomas David <thomasdavid0@gmail.com>
|
|
6
|
+
License: GNU GPL v3
|
|
7
|
+
Classifier: Programming Language :: Python :: 3
|
|
8
|
+
Requires-Python: >=3.12
|
|
8
9
|
Description-Content-Type: text/markdown
|
|
9
10
|
License-File: LICENSE
|
|
10
|
-
Requires-Dist: setuptools
|
|
11
11
|
Requires-Dist: numpy
|
|
12
12
|
Requires-Dist: pandas
|
|
13
|
+
Provides-Extra: dev
|
|
14
|
+
Requires-Dist: numpy ; extra == 'dev'
|
|
15
|
+
Requires-Dist: pandas ; extra == 'dev'
|
|
16
|
+
Requires-Dist: pytest ; extra == 'dev'
|
|
13
17
|
|
|
14
18
|
# geometry #
|
|
15
19
|
|
|
@@ -21,7 +25,6 @@ Magic methods are used extensively and the function of operators are logical for
|
|
|
21
25
|
|
|
22
26
|
Many convenience methods and constructors are available. Documentation is limited but if you need something it has probably already been written so check the code first.
|
|
23
27
|
|
|
24
|
-
|
|
25
28
|
Some examples are available here: https://pfcdocumentation.readthedocs.io/pyflightcoach/geometry.html
|
|
26
29
|
|
|
27
30
|
now available on pypi:
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
geometry/__init__.py,sha256=HNhMyemIJzDq1nDjrr09eX5PS7q9ULscSbYsXss3JRM,1253
|
|
2
|
-
geometry/base.py,sha256=
|
|
2
|
+
geometry/base.py,sha256=lm32W43T92ePWXuXu93lCYbGBoJh_cgKyIMdlu4Sano,11276
|
|
3
3
|
geometry/coordinate_frame.py,sha256=qO3jqUWF4PW4BOkw5rBMTXfOzBjlA1HYwGYmPtu2M8M,3039
|
|
4
4
|
geometry/gps.py,sha256=Fs3hakSQ754HUqRsA7NWg_MSEdYxNqyiu4gu6EDrFqI,3381
|
|
5
5
|
geometry/mass.py,sha256=BUWBSITwpdRfpJR5-oJTd16BI7FLZt8rhxdzr0cx1HY,1675
|
|
6
|
-
geometry/point.py,sha256=
|
|
6
|
+
geometry/point.py,sha256=tMpNwVIrYBgwxG4Oplj6SWWLwIaxnTSKyEwtw-sY_1o,5031
|
|
7
7
|
geometry/quaternion.py,sha256=rw_9Fx9uKMMuGAWJjH1vU-iZzA15Vbn3HyzS4qV3oxY,9367
|
|
8
8
|
geometry/testing.py,sha256=o8yMBAdU5Vy0EspBYaof4fPGgRSFZhRDhzBjRPsLd0M,375
|
|
9
9
|
geometry/time.py,sha256=NdzVWdL7F3HpJb4MXYJ0uPHvgHqipVMTDTR-UVNx_wc,995
|
|
10
10
|
geometry/transformation.py,sha256=iCQRTC1sbH_TCRpm9d_PmGS8qxAne5LpGcCSeRpmcpM,4701
|
|
11
|
-
pfc_geometry-0.2.
|
|
12
|
-
pfc_geometry-0.2.
|
|
13
|
-
pfc_geometry-0.2.
|
|
14
|
-
pfc_geometry-0.2.
|
|
15
|
-
pfc_geometry-0.2.
|
|
11
|
+
pfc_geometry-0.2.6.dist-info/LICENSE,sha256=z72U6pv-bQgJ_Svr4uCXnMjemsp38aSerhHEdEAOMJ4,7632
|
|
12
|
+
pfc_geometry-0.2.6.dist-info/METADATA,sha256=i1OwAmVTaz_594oDrvkhmM1Ruphho9Zz_lZ_-nr65ks,1817
|
|
13
|
+
pfc_geometry-0.2.6.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
|
14
|
+
pfc_geometry-0.2.6.dist-info/top_level.txt,sha256=RWbWhWYclEM-OFtXLCB4eLv-jxNnlJB-NPC2YM587Fo,9
|
|
15
|
+
pfc_geometry-0.2.6.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|