On the Subject of Cruel Ship Review

😨.

The module shows a pair of characters, 6 LEDs of profile pictures and a page counter.

  1. For each page: get all the values for the ship from Not Ship Review’s Data Table and put them in one row. Put new rows after existing rows to get 6x6 matrix. Divide this matrix in half both horizontally and vertically to get 4 3x3 matrices. Multiply them in reading order and call the result A.
  2. Project A to closest rotation matrix R by doing Singular Value Decomposition:
    1. Set B = ATA.
    2. Find the eigenvalues of B. Solve the characteristic equation det(B − λI) = 0. This is a cubic equation; it will give three roots λ₁ ≥ λ₂ ≥ λ₃ ≥ 0 (all positive).
    3. Find the eigenvectors of B. For each λi:
      1. Set Mi = B − λiI.
      2. Reduce Mi to row echelon form using Gaussian elimination (one row should vanish, since det(Mi) = 0 by construction).
      3. Solve for the free variable to get the direction vi.
      4. Normalize: vi → vi / ‖vi‖.
    4. Assemble V. Set V = [v₁ | v₂ | v₃].
    5. Compute the columns of U. For each i where σi = √λi: ui = 1/σi * (Avi).
    6. Assemble U = [u₁ | u₂ | u₃].
    7. Set R = UVT.
  3. For each LED: read the configuration for all pages, divide it in half and count amount of lits in each half. Use table below to find the value of R to submit. First number is the row, second is the column. Submit the numbers in order of LEDs.
    123
    1
    2
    3

Clarifications

Numbers must be submitted in ±.#### form and rounded towards 0. If the number is 0, input it as +.0000.

Input system works exactly the same as in Ship Review. However, to get into Submit mode, you should press the white button. You may go back into Read mode with the same button if there’s currently no input. In Read mode, numbered buttons act as a page flipper.

Characters

Here are the characters that may be shown on the module.

Name Icon Name Icon Name Icon
Astro Brightney Dandy
Bassie Brusha Dyle
Blot Cocoa Eclipse
Bobbette Connie Eggson
Boxten Cosmo Ginger
Finn Scraps Sprout
Flutter Shelly Squirm
Flyte Ribecca Teagan
Gigi R&D Tisha
Glisten Rodger Vee
Goob Rudie Waxwell
Looey Shrimpo Yatta
Poppy Soulvester