qmlmathplot 0.4.2__py3-none-any.whl → 0.4.3__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.
qmlmathplot/model.py CHANGED
@@ -1287,8 +1287,14 @@ void main() {
1287
1287
  // such as x² + y² = 0 is not left to the projection alone.
1288
1288
  // GGB measures the singular cell in *world* derivative units (|Fx| + |Fy| < 0.001);
1289
1289
  // the per-pixel gradient of an ordinary circle is ~0.01 and must not qualify.
1290
+ // The distance gate is essential for a scaled expression: (x+y)/(x*y) has |F| < 0.05 and
1291
+ // |Fx|+|Fy| < 0.001 over huge regions around ±50, although the level set is far away. A
1292
+ // singular point must also be *on* the set to the first order: |F| ~ R*|grad F|. The
1293
+ // ratio is scale-invariant, unlike the two absolute thresholds above.
1290
1294
  float gw_s = abs(FX(x, y)) + abs(FY(x, y));
1291
- if (dom && (f == f) && (abs(f) < 1e30) && gw_s < 1e-3 && abs(f) < 0.05) {
1295
+ float gnorm_s = max(sqrt(gx * gx + gy * gy), 1e-9);
1296
+ if (dom && (f == f) && (abs(f) < 1e30) && gw_s < 1e-3 && abs(f) < 0.05
1297
+ && abs(f) < R * gnorm_s) {
1292
1298
  march_cov = 1.0;
1293
1299
  }
1294
1300
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: qmlmathplot
3
- Version: 0.4.2
3
+ Version: 0.4.3
4
4
  Summary: Embeddable function plotter for Qt Quick / QtWidgets (implicit per-pixel drawing, MVVM)
5
5
  Author: I-AM-A-NOOB
6
6
  Author-email: I-AM-A-NOOB <suzc08@outlook.com>
@@ -281,8 +281,11 @@ corner is in the domain and no pole factor changes sign between them; the edge c
281
281
  interpolated and the cell's contour segment is stroked (the saddle case is paired using the cell
282
282
  centre's sign). The first-order/Newton path still supplies the sub-pixel width; the cell term
283
283
  adds the coverage of a thin or tangent branch whose centre projection fails. A **singular cell**
284
- (`|Fx| + |Fy| < 1e-3` in world units, plus `|F| < 0.05`) gets a small disc, so an isolated point
285
- such as `x**2 + y**2 = 0` is not left to the projection alone.
284
+ (`|Fx| + |Fy| < 1e-3` in world units, `|F| < 0.05`, **and** `|F| < R·|grad F|` in pixels) gets
285
+ a small disc, so an isolated point such as `x**2 + y**2 = 0` is not left to the projection alone.
286
+ The last test is the scale-invariant one: it requires the point to be on the set to first order,
287
+ so a scaled expression such as `(x+y)/(x·y)` — whose F and gradient are tiny far from its line —
288
+ no longer fills whole quadrants with the disc.
286
289
 
287
290
  Still not ported: GGB's Bernstein subdivision (**polynomial-only**), its adaptive quad-tree
288
291
  refinement and the `ContourAssembler`/`ContourLinker` (they exist to produce a selectable vector
@@ -9,7 +9,7 @@ qmlmathplot/export.py,sha256=KmWhh87rHOcdWfHo0erRvPgva_xm_RK8Uxf5HCbTv30,9276
9
9
  qmlmathplot/figure.py,sha256=iuCIuRExdcq36lDj-BA6QSsh2STeBLbgCVbvU7q_c2Y,20777
10
10
  qmlmathplot/input.py,sha256=Mb1rL-_Zynl1K-mhKEjjCv_BOA31cHekpL79eMdWUw0,6036
11
11
  qmlmathplot/interval.py,sha256=MoWEE6piNPr5cqGNf7nHKXu4RioROJg6qyBvtydhyyQ,21362
12
- qmlmathplot/model.py,sha256=r8aGKDyc9QaTL-0vHgiJLGP4U6bdsywPfzQMUhIACzE,72173
12
+ qmlmathplot/model.py,sha256=ANpaMLiw0KB_2zev28eK1c7qXhFRIqQl76TWz6Cf7uo,72624
13
13
  qmlmathplot/mpl.py,sha256=4xjKTwzv9liTaRCsKGNG-lmvRtrBHOv8vBJGfkAZ41o,13358
14
14
  qmlmathplot/overlay.py,sha256=QY-daroe7Nrs8F5t7XcFR82xfRDstZDHq9JDFfPehYs,13171
15
15
  qmlmathplot/plot.py,sha256=MstIKlXFCvnALxFYVZBBr8LWfuU9D-iS33P5e3W66d0,25851
@@ -53,7 +53,7 @@ qmlmathplot/themes/tableau-colorblind10.mplstyle,sha256=PzUMoOtw0V6l0bPk8ApRAKvc
53
53
  qmlmathplot/themes.py,sha256=QocZLOgPYXCJW9fYc6i5q6nHEE_S4mQVZXySZ4ISCPw,9225
54
54
  qmlmathplot/view.py,sha256=cQVzX7WdFXdAGjNu0LzZMzgFfCmLwfBsUMZFQrsWFy8,1775
55
55
  qmlmathplot/widget.py,sha256=7IkjM13KWJ9rqTkhooSMHSE9LjR9PD4OPim4qbKvPcA,9648
56
- qmlmathplot-0.4.2.dist-info/WHEEL,sha256=9IUYslYuG_asT4WlWvfk_K76nveuLvSTKDoLeL0cV-Q,80
57
- qmlmathplot-0.4.2.dist-info/entry_points.txt,sha256=4z36D_RpPSYLiJDRM8iXnrSe1T4c2alfQJPcJTss3qY,54
58
- qmlmathplot-0.4.2.dist-info/METADATA,sha256=ue8nrurGgZjmNTu-t_7eEt6O4LMvXy_ZoeogbWriJuI,53249
59
- qmlmathplot-0.4.2.dist-info/RECORD,,
56
+ qmlmathplot-0.4.3.dist-info/WHEEL,sha256=9IUYslYuG_asT4WlWvfk_K76nveuLvSTKDoLeL0cV-Q,80
57
+ qmlmathplot-0.4.3.dist-info/entry_points.txt,sha256=4z36D_RpPSYLiJDRM8iXnrSe1T4c2alfQJPcJTss3qY,54
58
+ qmlmathplot-0.4.3.dist-info/METADATA,sha256=UZ5LDye-OZPZouxr_spSqTrzhjryCR5TME6K9vZFQrk,53532
59
+ qmlmathplot-0.4.3.dist-info/RECORD,,