coordinate-system 4.1.0__tar.gz → 5.2.1__tar.gz
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.
- {coordinate_system-4.1.0/coordinate_system.egg-info → coordinate_system-5.2.1}/PKG-INFO +54 -4
- {coordinate_system-4.1.0 → coordinate_system-5.2.1}/README.md +49 -1
- {coordinate_system-4.1.0 → coordinate_system-5.2.1}/coordinate_system/__init__.py +50 -4
- coordinate_system-5.2.1/coordinate_system/curve_interpolation.py +507 -0
- coordinate_system-5.2.1/coordinate_system/fourier_frames.py +530 -0
- coordinate_system-5.2.1/coordinate_system/visualization.py +666 -0
- {coordinate_system-4.1.0 → coordinate_system-5.2.1/coordinate_system.egg-info}/PKG-INFO +54 -4
- {coordinate_system-4.1.0 → coordinate_system-5.2.1}/coordinate_system.egg-info/SOURCES.txt +4 -0
- coordinate_system-5.2.1/coordinate_system.egg-info/requires.txt +2 -0
- {coordinate_system-4.1.0 → coordinate_system-5.2.1}/coordinate_system_binding.cpp +27 -1
- {coordinate_system-4.1.0 → coordinate_system-5.2.1}/pmsys_minimal.hpp +35 -17
- {coordinate_system-4.1.0 → coordinate_system-5.2.1}/setup.py +8 -5
- {coordinate_system-4.1.0 → coordinate_system-5.2.1}/LICENSE +0 -0
- {coordinate_system-4.1.0 → coordinate_system-5.2.1}/MANIFEST.in +0 -0
- {coordinate_system-4.1.0 → coordinate_system-5.2.1}/MATHEMATICAL_FOUNDATION.md +0 -0
- {coordinate_system-4.1.0 → coordinate_system-5.2.1}/coordinate_system/curvature.py +0 -0
- {coordinate_system-4.1.0 → coordinate_system-5.2.1}/coordinate_system/differential_geometry.py +0 -0
- {coordinate_system-4.1.0 → coordinate_system-5.2.1}/coordinate_system/fourier_spectral.py +0 -0
- {coordinate_system-4.1.0 → coordinate_system-5.2.1}/coordinate_system.egg-info/dependency_links.txt +0 -0
- {coordinate_system-4.1.0 → coordinate_system-5.2.1}/coordinate_system.egg-info/not-zip-safe +0 -0
- {coordinate_system-4.1.0 → coordinate_system-5.2.1}/coordinate_system.egg-info/top_level.txt +0 -0
- {coordinate_system-4.1.0 → coordinate_system-5.2.1}/setup.cfg +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: coordinate_system
|
|
3
|
-
Version:
|
|
4
|
-
Summary: High-performance 3D coordinate system
|
|
3
|
+
Version: 5.2.1
|
|
4
|
+
Summary: High-performance 3D coordinate system with C2-continuous curve interpolation, Fourier frames with operator overloading, and advanced 3D visualization
|
|
5
5
|
Home-page: https://github.com/panguojun/Coordinate-System
|
|
6
6
|
Author: PanGuoJun
|
|
7
7
|
Author-email: 18858146@qq.com
|
|
@@ -9,7 +9,7 @@ License: MIT
|
|
|
9
9
|
Project-URL: Bug Reports, https://github.com/panguojun/Coordinate-System/issues
|
|
10
10
|
Project-URL: Source, https://github.com/panguojun/Coordinate-System
|
|
11
11
|
Project-URL: Documentation, https://github.com/panguojun/Coordinate-System/blob/main/README.md
|
|
12
|
-
Keywords: 3d math vector quaternion coordinate-system geometry graphics spatial-computing differential-geometry curvature
|
|
12
|
+
Keywords: 3d math vector quaternion coordinate-system geometry graphics spatial-computing differential-geometry curvature curve-interpolation c2-continuity frenet-frames fourier-transform operator-overloading quantum-coordinates heisenberg-uncertainty visualization rgb-frames catmull-rom squad
|
|
13
13
|
Platform: Windows
|
|
14
14
|
Platform: Linux
|
|
15
15
|
Platform: macOS
|
|
@@ -37,6 +37,8 @@ Classifier: Operating System :: MacOS
|
|
|
37
37
|
Requires-Python: >=3.7
|
|
38
38
|
Description-Content-Type: text/markdown
|
|
39
39
|
License-File: LICENSE
|
|
40
|
+
Requires-Dist: numpy>=1.19.0
|
|
41
|
+
Requires-Dist: matplotlib>=3.3.0
|
|
40
42
|
|
|
41
43
|
# Coordinate System Library
|
|
42
44
|
|
|
@@ -48,9 +50,57 @@ License-File: LICENSE
|
|
|
48
50
|
[](LICENSE)
|
|
49
51
|
|
|
50
52
|
**Author:** PanGuoJun
|
|
51
|
-
**Version:**
|
|
53
|
+
**Version:** 5.2.1
|
|
52
54
|
**License:** MIT
|
|
53
55
|
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## What's New in v5.2.1 (2025-12-01)
|
|
60
|
+
|
|
61
|
+
### Fourier Frames with Operator Overloading
|
|
62
|
+
|
|
63
|
+
**New Module: `fourier_frames`** - Elegant quantum coordinate transformations
|
|
64
|
+
|
|
65
|
+
- **Operator Overloading Support**: Intuitive syntax for Fourier transforms
|
|
66
|
+
- `F_p @ psi` - Matrix multiplication operator
|
|
67
|
+
- `F_p * psi` - Multiplication operator
|
|
68
|
+
- `psi | F_p` - Bra-ket notation
|
|
69
|
+
- `~F_x` - Dual frame operator
|
|
70
|
+
- **Quantum State Representation**: `QuantumState` and `StateVector` classes
|
|
71
|
+
- **Heisenberg Uncertainty**: Built-in uncertainty principle computations
|
|
72
|
+
- **Position <-> Momentum Transforms**: Seamless coordinate basis transformations
|
|
73
|
+
|
|
74
|
+
### C2-Continuous Curve Interpolation
|
|
75
|
+
|
|
76
|
+
**Enhanced Module: `curve_interpolation`** - Second-order smooth curves
|
|
77
|
+
|
|
78
|
+
- **C2-Continuity**: Catmull-Rom spline for position interpolation
|
|
79
|
+
- **SQUAD Interpolation**: Spherical Quadrangle for smooth quaternion interpolation
|
|
80
|
+
- **13x Smoother**: Reduced maximum curvature from 13.93 to 1.05
|
|
81
|
+
|
|
82
|
+
### Advanced 3D Visualization
|
|
83
|
+
|
|
84
|
+
**New Module: `visualization`** - Professional curve and frame rendering
|
|
85
|
+
|
|
86
|
+
- **RGB Frenet Frames**: Red=Tangent, Green=Normal, Blue=Binormal
|
|
87
|
+
- **3D Curve Rendering**: High-quality visualization with matplotlib
|
|
88
|
+
- **Export Support**: Save PNG/PDF outputs
|
|
89
|
+
|
|
90
|
+
### Documentation
|
|
91
|
+
|
|
92
|
+
- [Curve Interpolation Guide](CURVE_INTERPOLATION_README.md)
|
|
93
|
+
- [C2 Interpolation Guide](C2_INTERPOLATION_GUIDE.md)
|
|
94
|
+
- Full English documentation for global distribution
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
### v5.2.1 (2025-12-01) - Handedness Control
|
|
99
|
+
- ✨ **New**: C++ level handedness control (`set_handedness('left'/'right')`)
|
|
100
|
+
- 🔧 **Fixed**: Frenet frames now respect coordinate system handedness
|
|
101
|
+
- 📚 **Improved**: Global handedness setting for consistent behavior
|
|
102
|
+
|
|
103
|
+
|
|
54
104
|
## 🆕 What's New in v4.0.0
|
|
55
105
|
|
|
56
106
|
### 🎯 Fourier Spectral Geometry Analysis
|
|
@@ -8,9 +8,57 @@
|
|
|
8
8
|
[](LICENSE)
|
|
9
9
|
|
|
10
10
|
**Author:** PanGuoJun
|
|
11
|
-
**Version:**
|
|
11
|
+
**Version:** 5.2.1
|
|
12
12
|
**License:** MIT
|
|
13
13
|
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## What's New in v5.2.1 (2025-12-01)
|
|
18
|
+
|
|
19
|
+
### Fourier Frames with Operator Overloading
|
|
20
|
+
|
|
21
|
+
**New Module: `fourier_frames`** - Elegant quantum coordinate transformations
|
|
22
|
+
|
|
23
|
+
- **Operator Overloading Support**: Intuitive syntax for Fourier transforms
|
|
24
|
+
- `F_p @ psi` - Matrix multiplication operator
|
|
25
|
+
- `F_p * psi` - Multiplication operator
|
|
26
|
+
- `psi | F_p` - Bra-ket notation
|
|
27
|
+
- `~F_x` - Dual frame operator
|
|
28
|
+
- **Quantum State Representation**: `QuantumState` and `StateVector` classes
|
|
29
|
+
- **Heisenberg Uncertainty**: Built-in uncertainty principle computations
|
|
30
|
+
- **Position <-> Momentum Transforms**: Seamless coordinate basis transformations
|
|
31
|
+
|
|
32
|
+
### C2-Continuous Curve Interpolation
|
|
33
|
+
|
|
34
|
+
**Enhanced Module: `curve_interpolation`** - Second-order smooth curves
|
|
35
|
+
|
|
36
|
+
- **C2-Continuity**: Catmull-Rom spline for position interpolation
|
|
37
|
+
- **SQUAD Interpolation**: Spherical Quadrangle for smooth quaternion interpolation
|
|
38
|
+
- **13x Smoother**: Reduced maximum curvature from 13.93 to 1.05
|
|
39
|
+
|
|
40
|
+
### Advanced 3D Visualization
|
|
41
|
+
|
|
42
|
+
**New Module: `visualization`** - Professional curve and frame rendering
|
|
43
|
+
|
|
44
|
+
- **RGB Frenet Frames**: Red=Tangent, Green=Normal, Blue=Binormal
|
|
45
|
+
- **3D Curve Rendering**: High-quality visualization with matplotlib
|
|
46
|
+
- **Export Support**: Save PNG/PDF outputs
|
|
47
|
+
|
|
48
|
+
### Documentation
|
|
49
|
+
|
|
50
|
+
- [Curve Interpolation Guide](CURVE_INTERPOLATION_README.md)
|
|
51
|
+
- [C2 Interpolation Guide](C2_INTERPOLATION_GUIDE.md)
|
|
52
|
+
- Full English documentation for global distribution
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
### v5.2.1 (2025-12-01) - Handedness Control
|
|
57
|
+
- ✨ **New**: C++ level handedness control (`set_handedness('left'/'right')`)
|
|
58
|
+
- 🔧 **Fixed**: Frenet frames now respect coordinate system handedness
|
|
59
|
+
- 📚 **Improved**: Global handedness setting for consistent behavior
|
|
60
|
+
|
|
61
|
+
|
|
14
62
|
## 🆕 What's New in v4.0.0
|
|
15
63
|
|
|
16
64
|
### 🎯 Fourier Spectral Geometry Analysis
|
|
@@ -4,6 +4,14 @@ from .coordinate_system import vec3, vec2
|
|
|
4
4
|
from .coordinate_system import quat
|
|
5
5
|
from .coordinate_system import coord3
|
|
6
6
|
|
|
7
|
+
|
|
8
|
+
# Coordinate system handedness control (v5.2.1+)
|
|
9
|
+
from .coordinate_system import (
|
|
10
|
+
set_handedness,
|
|
11
|
+
get_handedness,
|
|
12
|
+
is_left_handed,
|
|
13
|
+
is_right_handed
|
|
14
|
+
)
|
|
7
15
|
# Differential geometry module (v3.3.0+)
|
|
8
16
|
from .differential_geometry import (
|
|
9
17
|
# Classes
|
|
@@ -50,17 +58,17 @@ from .fourier_spectral import (
|
|
|
50
58
|
FourierTransformer,
|
|
51
59
|
SpectralAnalyzer,
|
|
52
60
|
FrameFieldSpectrum,
|
|
53
|
-
|
|
61
|
+
|
|
54
62
|
# GPU accelerated transforms
|
|
55
63
|
GPUFourierTransformer,
|
|
56
64
|
BatchCoordTransformer,
|
|
57
|
-
|
|
65
|
+
|
|
58
66
|
# Spectral geometry operations
|
|
59
67
|
spectral_intrinsic_gradient,
|
|
60
68
|
spectral_curvature_calculator,
|
|
61
69
|
berry_phase_calculator,
|
|
62
70
|
topological_invariant_analyzer,
|
|
63
|
-
|
|
71
|
+
|
|
64
72
|
# Utility functions
|
|
65
73
|
fft2_coord_field,
|
|
66
74
|
ifft2_spectrum,
|
|
@@ -68,6 +76,35 @@ from .fourier_spectral import (
|
|
|
68
76
|
radial_spectrum_average,
|
|
69
77
|
)
|
|
70
78
|
|
|
79
|
+
# Visualization module (v5.0.0+)
|
|
80
|
+
from .visualization import (
|
|
81
|
+
# Visualizer classes
|
|
82
|
+
CoordinateSystemVisualizer,
|
|
83
|
+
CurveVisualizer,
|
|
84
|
+
ParametricCurve,
|
|
85
|
+
|
|
86
|
+
# Convenience functions
|
|
87
|
+
visualize_coord_system,
|
|
88
|
+
visualize_curve,
|
|
89
|
+
)
|
|
90
|
+
|
|
91
|
+
# Curve interpolation module (v5.1.0+)
|
|
92
|
+
from .curve_interpolation import (
|
|
93
|
+
# Main class
|
|
94
|
+
InterpolatedCurve,
|
|
95
|
+
|
|
96
|
+
# Functions
|
|
97
|
+
generate_frenet_frames,
|
|
98
|
+
frame_field_spline,
|
|
99
|
+
frame_field_spline_c2,
|
|
100
|
+
reconstruct_curve_from_polygon,
|
|
101
|
+
compute_curvature_profile,
|
|
102
|
+
|
|
103
|
+
# Utility functions
|
|
104
|
+
catmull_rom,
|
|
105
|
+
squad_interp,
|
|
106
|
+
)
|
|
107
|
+
|
|
71
108
|
__all__ = [
|
|
72
109
|
# Constants
|
|
73
110
|
'ZERO3','UNITX','UNITY','UNITZ','ONE3','ONE4','ONEC',
|
|
@@ -106,8 +143,17 @@ __all__ = [
|
|
|
106
143
|
'GPUFourierTransformer', 'BatchCoordTransformer',
|
|
107
144
|
'spectral_intrinsic_gradient', 'spectral_curvature_calculator',
|
|
108
145
|
'berry_phase_calculator', 'topological_invariant_analyzer',
|
|
109
|
-
'fft2_coord_field', 'ifft2_spectrum',
|
|
146
|
+
'fft2_coord_field', 'ifft2_spectrum',
|
|
110
147
|
'compute_spectral_density', 'radial_spectrum_average',
|
|
148
|
+
|
|
149
|
+
# Visualization (v5.0.0+)
|
|
150
|
+
'CoordinateSystemVisualizer', 'CurveVisualizer', 'ParametricCurve',
|
|
151
|
+
'visualize_coord_system', 'visualize_curve',
|
|
152
|
+
|
|
153
|
+
# Curve interpolation (v5.1.0+)
|
|
154
|
+
'InterpolatedCurve', 'generate_frenet_frames', 'frame_field_spline',
|
|
155
|
+
'frame_field_spline_c2', 'reconstruct_curve_from_polygon', 'compute_curvature_profile',
|
|
156
|
+
'catmull_rom', 'squad_interp',
|
|
111
157
|
]
|
|
112
158
|
|
|
113
159
|
# Constants for unit vectors and zero point
|