Reference · Surface maze rules and geometry
openingTurnfunction
A view of the solid to begin with: the cell faces the viewer, then the solid is tipped a little so that its depth shows and its neighbours on the near side can be seen. A shape with a way up (a heart, a star) is turned about its vertical axis only, so that it is seen upright, with the cell on the near side; and a solid with parts that hide parts is given a view in which the cell is not hidden, the first of a few tried.
Import it
import { openingTurn } from "@johnmorrisdotca/meikyuu/3d";
Definition
function openingTurn(grid: SolidGrid, cell: number): Quat
Parameters
| Name | Type | Description |
|---|---|---|
grid | SolidGrid | The valid native flat or surface cell graph. |
cell | number | A zero-based native cell index. |
Returns
Quat
A view of the solid to begin with: the cell faces the viewer, then the solid is tipped a little so that its depth shows and its neighbours on the near side can be seen. A shape with a way up (a heart, a star) is turned about its vertical axis only, so that it is seen upright, with the cell on the near side; and a solid with parts that hide parts is given a view in which the cell is not hidden, the first of a few tried.
Examples
import type { MazeRecipe } from "@johnmorrisdotca/meikyuu";
import { buildMaze } from "@johnmorrisdotca/meikyuu";
import type { SolidRecipe } from "@johnmorrisdotca/meikyuu/3d";
import { buildSolidMaze, openingTurn } from "@johnmorrisdotca/meikyuu/3d";
const recipe: MazeRecipe = {shape:"square",w:5,h:5,algorithm:"backtracker",mode:"to-goal",seed:42};
const maze = buildMaze(recipe);
const grid = maze.grid;
const solidRecipe: SolidRecipe = {kind:"cube",n:2,algorithm:"backtracker",seed:42};
const solid = buildSolidMaze(solidRecipe);
const solidGrid = solid.grid;
console.log(openingTurn(solidGrid,solid.start));[
-0.17928918071730188,
0.4989752610864932,
-0.1063528068344438,
0.841170707395247
]What it prints (run when this page was built)