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.
Files changed (22) hide show
  1. {coordinate_system-4.1.0/coordinate_system.egg-info → coordinate_system-5.2.1}/PKG-INFO +54 -4
  2. {coordinate_system-4.1.0 → coordinate_system-5.2.1}/README.md +49 -1
  3. {coordinate_system-4.1.0 → coordinate_system-5.2.1}/coordinate_system/__init__.py +50 -4
  4. coordinate_system-5.2.1/coordinate_system/curve_interpolation.py +507 -0
  5. coordinate_system-5.2.1/coordinate_system/fourier_frames.py +530 -0
  6. coordinate_system-5.2.1/coordinate_system/visualization.py +666 -0
  7. {coordinate_system-4.1.0 → coordinate_system-5.2.1/coordinate_system.egg-info}/PKG-INFO +54 -4
  8. {coordinate_system-4.1.0 → coordinate_system-5.2.1}/coordinate_system.egg-info/SOURCES.txt +4 -0
  9. coordinate_system-5.2.1/coordinate_system.egg-info/requires.txt +2 -0
  10. {coordinate_system-4.1.0 → coordinate_system-5.2.1}/coordinate_system_binding.cpp +27 -1
  11. {coordinate_system-4.1.0 → coordinate_system-5.2.1}/pmsys_minimal.hpp +35 -17
  12. {coordinate_system-4.1.0 → coordinate_system-5.2.1}/setup.py +8 -5
  13. {coordinate_system-4.1.0 → coordinate_system-5.2.1}/LICENSE +0 -0
  14. {coordinate_system-4.1.0 → coordinate_system-5.2.1}/MANIFEST.in +0 -0
  15. {coordinate_system-4.1.0 → coordinate_system-5.2.1}/MATHEMATICAL_FOUNDATION.md +0 -0
  16. {coordinate_system-4.1.0 → coordinate_system-5.2.1}/coordinate_system/curvature.py +0 -0
  17. {coordinate_system-4.1.0 → coordinate_system-5.2.1}/coordinate_system/differential_geometry.py +0 -0
  18. {coordinate_system-4.1.0 → coordinate_system-5.2.1}/coordinate_system/fourier_spectral.py +0 -0
  19. {coordinate_system-4.1.0 → coordinate_system-5.2.1}/coordinate_system.egg-info/dependency_links.txt +0 -0
  20. {coordinate_system-4.1.0 → coordinate_system-5.2.1}/coordinate_system.egg-info/not-zip-safe +0 -0
  21. {coordinate_system-4.1.0 → coordinate_system-5.2.1}/coordinate_system.egg-info/top_level.txt +0 -0
  22. {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.1.0
4
- Summary: High-performance 3D coordinate system library with right-handed conventions, Intrinsic Gradient Operator method for curvature computation, achieving machine-precision accuracy
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 metric-tensor connection-operator discrete-geometry surface-curvature intrinsic-gradient-operator
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](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
49
51
 
50
52
  **Author:** PanGuoJun
51
- **Version:** 4.0.2
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](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
9
9
 
10
10
  **Author:** PanGuoJun
11
- **Version:** 4.0.2
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