Selaa lähdekoodia

Add variance as a stat in the UI

Kirk Trombley 3 vuotta sitten
vanhempi
commit
7de913916f
2 muutettua tiedostoa jossa 14 lisäystä ja 4 poistoa
  1. 10 2
      web/metrics.js
  2. 4 2
      web/render.js

+ 10 - 2
web/metrics.js

@@ -85,9 +85,17 @@ const metrics = {
     `,
     evaluate: data => data.inertia,
   },
-  muNuAngle: {
-    option: "Mu-Nu Angle (V)",
+  variance: {
+    option: "Variance (V)",
     displayName: "V",
+    displayBody: p => String.raw`
+      I\left(${p}\right) - \left|\left|\vec{\mu}\left(${p}\right)\right|\right|^2
+    `,
+    evaluate: data => data.inertia - data.mu.sqMag
+  },
+  muNuAngle: {
+    option: "Mu-Nu Angle (Φ)",
+    displayName: "\\Phi",
     displayBody: p => String.raw`\angle \left( \vec{\mu}\left(${p}\right), \vec{\nu}\left(${p}\right) \right)`,
     evaluate: data => data.muNuAngle,
   },

+ 4 - 2
web/render.js

@@ -59,7 +59,8 @@ const renderPokemonTileCluster = (area, { mu, nu, proportion }, scores) => {
             ["", nu[1].toFixed(2) + ","],
             ["", nu[2].toFixed(2) + ")"],
             ["I =", scores.inertia.toFixed(2)],
-            ["V =", scores.muNuAngle.toFixed(2) + "°"],
+            ["V =", scores.variance.toFixed(2)],
+            ["Φ =", scores.muNuAngle.toFixed(2) + "°"],
             ["N =", scores.size],
             ["L =", scores.lightness.toFixed(2)],
             ["C =", scores.chroma.toFixed(2)],
@@ -130,7 +131,8 @@ const renderPokemonTile = (kind, name, { total: { mu, nu, size }, clusters }, sc
           )}
           ${ renderStatRow(
             [ ["I =", scores.total.inertia.toFixed(2)],
-              ["V =", scores.total.muNuAngle.toFixed(2) + "°"],
+              ["V =", scores.total.variance.toFixed(2)],
+              ["Φ =", scores.total.muNuAngle.toFixed(2) + "°"],
               ["N =", size],
               ["L =", scores.total.lightness.toFixed(2)],
               ["C =", scores.total.chroma.toFixed(2)],