Similar apps
Compare allApp info
- Installs
- 0+
- Category
- Tools
- Content rating
- Everyone
- Version
- 2.0
- Released
- Oct 3, 2026
- Last updated
- 4 Oct 2026
- In-app purchases
- No
- Contains ads
- Yes
- Promo video
- No
- Requires Android
- 7.0
Loading…
This app isn't in any of our charts yet.
An app that computes differential-geometric quantities of a parametric surface
Using the app - Enter `x(u,v)`, `y(u,v)`, `z(u,v)` and the parameter ranges `[u min, u max] × [v min, v max]`, then tap **Draw**. - The two sliders move the point (u₀, v₀); all quantities update for that point. - The surface is drawn as a grid of u- and v-lines. Rotate it with your finger. The point is shown with the vectors r_u (red), r_v (green) and the unit normal n (blue). - Syntax (exp4j): `+ - * / ^`, `sin cos tan asin acos atan sinh cosh tanh exp log sqrt abs`, constants `pi` and `e`. - Top bar: **Examples** (sphere, torus, paraboloid, saddle, helicoid, cylinder), Language** (Auto, English, Български, Français, Deutsch, Español), Points table The table icon opens a separate screen with the coordinates x, y, z of points of the surface on a grid of (u, v) values. Set **u from / to / step** and **v from / to / step**, then tap **Compute**; the defaults are the current ranges split into 4 steps (a 5 × 5 grid). Up to 2000 points are shown. The text is selectable, so it can be copied. ## Saving surfaces - **Save (disk icon):** stores the current surface (x, y, z and the ranges) under a name; saving with an existing name overwrites it. - **My surfaces (folder icon):** lists saved surfaces. Tap one to load and draw it; long-press to delete. - Surfaces are kept on the device (SharedPreferences) and survive app restarts. ## Languages All screens (main screen, points table, dialogs, menus) are available in English (default), Bulgarian, French, German and Spanish. By default the app follows the phone language; **Language** in the top bar switches it manually (the choice is remembered). To add a language, copy `res/values/strings.xml` to `res/values-XX/`, translate the values, then add the code to `LANG_CODES` and a menu item in `main_menu.xml` / `MainActivity.java`. ## Displayed quantities | Quantity | Formula | Meaning | | **r_u, r_v** | ∂r/∂u, ∂r/∂v | Tangent vectors to the coordinate lines | | **n** | (r_u × r_v) / \|r_u × r_v\| | Unit normal (its sign depends on the parametrization) | | **E, F, G** | r_u·r_u, r_u·r_v, r_v·r_v | First fundamental form I = E du² + 2F du dv + G dv²: lengths and angles on the surface | | **L, M, N** | r_uu·n, r_uv·n, r_vv·n | Second fundamental form II = L du² + 2M du dv + N dv²: how the surface bends in space | | **√(EG−F²)** | \|r_u × r_v\| | Area element: dA = √(EG−F²) du dv | | **K** (Gaussian curvature) | (LN − M²) / (EG − F²) | Intrinsic curvature (Theorema Egregium: depends only on I). Sphere of radius R: 1/R² | | **H** (mean curvature) | (EN − 2FM + GL) / (2(EG − F²)) | Average of the principal curvatures. Sign depends on the choice of n | | **k₁, k₂** (principal curvatures) | H ± √(H² − K) | Extreme normal curvatures at the point; K = k₁·k₂, H = (k₁ + k₂)/2 | | **Point type** | sign of K | elliptic (K > 0), hyperbolic (K < 0), parabolic (K = 0, H ≠ 0), planar (K = H = 0), singular (r_u × r_v = 0) | | **Area** | ∬ √(EG−F²) du dv | Area of the patch over the whole rectangle (Simpson's rule, 20 × 20) | ## Examples and expected results | Surface | K | \|H\| | Type | | Sphere of radius 1 | 1 | 1 | elliptic | | Cylinder of radius 1 | 0 | 0.5 | parabolic | | Paraboloid z = u² + v² at (0, 0) | 4 | 2 | elliptic | | Saddle z = u² − v² at (0, 0) | −4 | 0 | hyperbolic | | Helicoid | < 0 everywhere | 0 (minimal surface) | hyperbolic | | Torus (R = 2, r = 1) | positive outside, negative inside | varies | mixed | At the middle of the sliders the paraboloid and saddle examples are at (0, 0). ## How it works r_u and r_v use central differences (step 10⁻⁴); r_uu, r_uv and r_vv use second-order central differences (step 10⁻³). The formulas above are then applied. ## Limitations - Numerical derivatives give about 4-5 correct digits; very steep surfaces lose accuracy. - At singular points (r_u × r_v = 0, for example the poles of a sphere parametrized by angles) the normal and curvatures are undefined and shown as "—". - The sign of n, and therefore of H, L, M, N, depends on the order of u and v.