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.
@@ -532,7 +532,7 @@ class LieGroupCurvatureCalculator:
532
532
  def __init__(
533
533
  self,
534
534
  surface: Surface,
535
- step_size: float = 1e-5,
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-5)
546
- Note: Smaller than classical method due to frame normalization
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, optimal for constant curvature)
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
- return coord3(ZERO3, t_u, t_v, n)
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 extracted from the curvature tensor R_uv
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 R_12 (antisymmetric part of tangent-tangent block)
736
- # R_12 is the (1,2) element of R_uv matrix
737
- # In coord3: uy.x represents the second row, first column
738
- R_12 = R_uv.uy.x
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 = R_12 / g.det
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.1
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,,