coordinate-system 2.3.1__cp313-cp313-win_amd64.whl → 2.3.2__cp313-cp313-win_amd64.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.
- coordinate_system/coordinate_system.cp313-win_amd64.pyd +0 -0
- coordinate_system/curvature.py +3 -4
- coordinate_system/differential_geometry.py +16 -12
- {coordinate_system-2.3.1.dist-info → coordinate_system-2.3.2.dist-info}/METADATA +1 -1
- coordinate_system-2.3.2.dist-info/RECORD +9 -0
- coordinate_system-2.3.1.dist-info/RECORD +0 -9
- {coordinate_system-2.3.1.dist-info → coordinate_system-2.3.2.dist-info}/LICENSE +0 -0
- {coordinate_system-2.3.1.dist-info → coordinate_system-2.3.2.dist-info}/WHEEL +0 -0
- {coordinate_system-2.3.1.dist-info → coordinate_system-2.3.2.dist-info}/top_level.txt +0 -0
|
Binary file
|
coordinate_system/curvature.py
CHANGED
|
@@ -532,7 +532,7 @@ class LieGroupCurvatureCalculator:
|
|
|
532
532
|
def __init__(
|
|
533
533
|
self,
|
|
534
534
|
surface: Surface,
|
|
535
|
-
step_size: float = 1e-
|
|
535
|
+
step_size: float = 1e-3,
|
|
536
536
|
scale_factor: float = 2.0,
|
|
537
537
|
use_metric_correction: bool = True,
|
|
538
538
|
use_lie_derivative: bool = True
|
|
@@ -542,9 +542,8 @@ class LieGroupCurvatureCalculator:
|
|
|
542
542
|
|
|
543
543
|
Args:
|
|
544
544
|
surface: Surface object
|
|
545
|
-
step_size: Finite difference step size (default: 1e-
|
|
546
|
-
|
|
547
|
-
scale_factor: Scaling factor for connection correction (default: 2.0)
|
|
545
|
+
step_size: Finite difference step size (default: 1e-3, optimal for O(h²) convergence)
|
|
546
|
+
scale_factor: Scaling factor for connection correction (default: 2.0, precomputed correction for self-referencing terms)
|
|
548
547
|
use_metric_correction: Whether to apply metric correction (default: True)
|
|
549
548
|
use_lie_derivative: Whether to include Lie derivative term (default: True)
|
|
550
549
|
Highly recommended for accuracy!
|
|
@@ -344,7 +344,7 @@ class ConnectionOperator:
|
|
|
344
344
|
|
|
345
345
|
Args:
|
|
346
346
|
surface: Surface object
|
|
347
|
-
scale_factor: Scaling factor for correction (default: 2.0,
|
|
347
|
+
scale_factor: Scaling factor for correction (default: 2.0, precomputed numerical correction from curvature estimation)
|
|
348
348
|
use_metric_correction: Whether to apply metric correction (default: True)
|
|
349
349
|
step_size: Numerical differentiation step size (default: surface.h)
|
|
350
350
|
"""
|
|
@@ -382,7 +382,8 @@ class ConnectionOperator:
|
|
|
382
382
|
t_v = UNITY
|
|
383
383
|
|
|
384
384
|
# Create coord3 from basis vectors
|
|
385
|
-
|
|
385
|
+
# Use 3-parameter constructor "From three axes" (normalized vectors only, no origin)
|
|
386
|
+
return coord3(t_u, t_v, n)
|
|
386
387
|
|
|
387
388
|
def _compute_embedding_frame(self, u: float, v: float) -> coord3:
|
|
388
389
|
"""
|
|
@@ -589,7 +590,7 @@ def compute_connection(
|
|
|
589
590
|
surface: Surface object
|
|
590
591
|
u, v: Parameter coordinates
|
|
591
592
|
direction: 'u' or 'v'
|
|
592
|
-
scale_factor: Scaling factor (default: 2.0)
|
|
593
|
+
scale_factor: Scaling factor (default: 2.0, precomputed numerical correction)
|
|
593
594
|
use_metric_correction: Whether to apply metric correction (default: True)
|
|
594
595
|
|
|
595
596
|
Returns:
|
|
@@ -629,7 +630,7 @@ def compute_curvature_tensor(
|
|
|
629
630
|
Args:
|
|
630
631
|
surface: Surface object
|
|
631
632
|
u, v: Parameter coordinates
|
|
632
|
-
scale_factor: Scaling factor for connection operators
|
|
633
|
+
scale_factor: Scaling factor for connection operators (default: 2.0, precomputed numerical correction)
|
|
633
634
|
use_metric_correction: Whether to apply metric correction
|
|
634
635
|
use_lie_derivative: Whether to include Lie derivative term (default: True)
|
|
635
636
|
For spheres, this improves accuracy by 24×!
|
|
@@ -701,14 +702,14 @@ def compute_gaussian_curvature(
|
|
|
701
702
|
"""
|
|
702
703
|
Compute Gaussian curvature K at a point
|
|
703
704
|
|
|
704
|
-
K = R_12 / det(g)
|
|
705
|
+
K = R_12^antisym / det(g) = (R_01 - R_10) / (2 × det(g))
|
|
705
706
|
|
|
706
|
-
where R_12 is
|
|
707
|
+
where R_12^antisym is the antisymmetric part of the curvature tensor R_uv
|
|
707
708
|
|
|
708
709
|
Args:
|
|
709
710
|
surface: Surface object
|
|
710
711
|
u, v: Parameter coordinates
|
|
711
|
-
scale_factor: Scaling factor
|
|
712
|
+
scale_factor: Scaling factor (default: 2.0, precomputed correction for numerical method's self-referencing terms)
|
|
712
713
|
use_metric_correction: Whether to apply metric correction
|
|
713
714
|
use_lie_derivative: Whether to include Lie derivative term
|
|
714
715
|
|
|
@@ -732,14 +733,17 @@ def compute_gaussian_curvature(
|
|
|
732
733
|
# Compute metric
|
|
733
734
|
g = compute_metric(surface, u, v)
|
|
734
735
|
|
|
735
|
-
# Extract
|
|
736
|
-
#
|
|
737
|
-
#
|
|
738
|
-
|
|
736
|
+
# Extract antisymmetric part of curvature tensor
|
|
737
|
+
# R_01 is the (0,1) element (first row, second column)
|
|
738
|
+
# R_10 is the (1,0) element (second row, first column)
|
|
739
|
+
# In coord3: ux.y represents R_01, uy.x represents R_10
|
|
740
|
+
R_01 = R_uv.ux.y
|
|
741
|
+
R_10 = R_uv.uy.x
|
|
742
|
+
R_12_antisym = (R_01 - R_10) / 2.0
|
|
739
743
|
|
|
740
744
|
# Gaussian curvature
|
|
741
745
|
if abs(g.det) > 1e-10:
|
|
742
|
-
K =
|
|
746
|
+
K = R_12_antisym / g.det
|
|
743
747
|
else:
|
|
744
748
|
K = 0.0
|
|
745
749
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: coordinate_system
|
|
3
|
-
Version: 2.3.
|
|
3
|
+
Version: 2.3.2
|
|
4
4
|
Summary: High-performance 3D coordinate system library with C++ optimized differential geometry and high-precision discrete curvature computation (Gaussian/Mean/Principal curvatures)
|
|
5
5
|
Home-page: https://github.com/panguojun/Coordinate-System
|
|
6
6
|
Author: PanGuoJun
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
coordinate_system/__init__.py,sha256=S-h_uoibcICCh5Tk_-Q6_aMwiCQ2vvKUgE4BzqCHpJ0,7086
|
|
2
|
+
coordinate_system/coordinate_system.cp313-win_amd64.pyd,sha256=P0KTnkBHLBixO2-g7WRc608Iw-mvWZS8p1EnvcSYZ7A,490496
|
|
3
|
+
coordinate_system/curvature.py,sha256=8KLC3xupF69W5-DHRy6lfDUgSErc7SbGA3gPiim0CUo,25232
|
|
4
|
+
coordinate_system/differential_geometry.py,sha256=0dPYkiFgAg1UH-O7PQmAJ2Mmm0VQLQSU7bZThy4vZb8,24111
|
|
5
|
+
coordinate_system-2.3.2.dist-info/LICENSE,sha256=tDnRkJxBYPzWdfh2gArRqrUPJxQZRZHJVs68qqBHIq4,1083
|
|
6
|
+
coordinate_system-2.3.2.dist-info/METADATA,sha256=BjFU1EdnAkoZEelXOf4bpFhA3m220Lia4fbcj0yR5yA,22632
|
|
7
|
+
coordinate_system-2.3.2.dist-info/WHEEL,sha256=4-iQBlRoDdX1wfPofc7KLWa5Cys4eZSgXs6GVU8fKlQ,101
|
|
8
|
+
coordinate_system-2.3.2.dist-info/top_level.txt,sha256=R6LguuPPZ5esrIsDTqPGi9UxCvZPIXwn7KRKX87c79M,18
|
|
9
|
+
coordinate_system-2.3.2.dist-info/RECORD,,
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
coordinate_system/__init__.py,sha256=S-h_uoibcICCh5Tk_-Q6_aMwiCQ2vvKUgE4BzqCHpJ0,7086
|
|
2
|
-
coordinate_system/coordinate_system.cp313-win_amd64.pyd,sha256=t1odSp5QdNMLQ_W5WW-RRR1ItKzwRfB53TUSCE1AKTI,490496
|
|
3
|
-
coordinate_system/curvature.py,sha256=-KVkyqeuySr2wJaCIbxSPdZ351VuNRMaeyoY32-czd8,25235
|
|
4
|
-
coordinate_system/differential_geometry.py,sha256=ZDYJzg7uLYpak4JWHMn7oufnhpF-Lh2dh8x7UpRQl2w,23645
|
|
5
|
-
coordinate_system-2.3.1.dist-info/LICENSE,sha256=tDnRkJxBYPzWdfh2gArRqrUPJxQZRZHJVs68qqBHIq4,1083
|
|
6
|
-
coordinate_system-2.3.1.dist-info/METADATA,sha256=2Rh4Is9rUKm8hhyrqZDdQ-bGVRu_cdue2LZQIzxsoD0,22632
|
|
7
|
-
coordinate_system-2.3.1.dist-info/WHEEL,sha256=4-iQBlRoDdX1wfPofc7KLWa5Cys4eZSgXs6GVU8fKlQ,101
|
|
8
|
-
coordinate_system-2.3.1.dist-info/top_level.txt,sha256=R6LguuPPZ5esrIsDTqPGi9UxCvZPIXwn7KRKX87c79M,18
|
|
9
|
-
coordinate_system-2.3.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|