MazeGeometry型
リファレンスの説明と例は英語です。見出しと目次は日本語です。
How a maze lies in space, which is all the measure needs to know of it besides the passages: how far a cell is from the goal (any measure that rises with distance will do, the squared distance is cheapest) and how far the line bends going from one cell through another to a third, in radians from 0 (straight on) to pi (back the way it came). A flat maze reads these off its cell centres; a maze over a solid reads them in three dimensions.
インポート
import type { MazeGeometry } from "@johnmorrisdotca/meikyuu";
定義
type MazeGeometry = {
readonly points: readonly (readonly number[])[];
distanceToGoal(cell: number): number;
bend(before: number, cell: number, after: number): number;
};
メンバー
| 名前 | 型 | 説明 |
|---|---|---|
points | readonly (readonly number[])[] | Where each cell lies: two numbers for a flat maze, three for a solid. The cover reads it. |
distanceToGoal | (cell: number): number | |
bend | (before: number, cell: number, after: number): number |
例
import type { SolidRecipe } from "@johnmorrisdotca/meikyuu/3d";
import { buildSolidMaze, solidGeometry } from "@johnmorrisdotca/meikyuu/3d";
import type { MazeGeometry } from "@johnmorrisdotca/meikyuu";
const solidRecipe: SolidRecipe = {kind:"cube",n:2,algorithm:"backtracker",seed:42};
const solid = buildSolidMaze(solidRecipe);
const value: MazeGeometry = solidGeometry(solid);
console.log(value);{
points: [
[ 1, -0.5, -0.5 ], [ 1, 0.5, -0.5 ],
[ 1, -0.5, 0.5 ], [ 1, 0.5, 0.5 ],
[ -1, -0.5, -0.5 ], [ -1, 0.5, -0.5 ],
[ -1, -0.5, 0.5 ], [ -1, 0.5, 0.5 ],
[ -0.5, 1, -0.5 ], [ -0.5, 1, 0.5 ],
[ 0.5, 1, -0.5 ], [ 0.5, 1, 0.5 ],
[ -0.5, -1, -0.5 ], [ -0.5, -1, 0.5 ],
[ 0.5, -1, -0.5 ], [ 0.5, -1, 0.5 ],
[ -0.5, -0.5, 1 ], [ 0.5, -0.5, 1 ],
[ -0.5, 0.5, 1 ], [ 0.5, 0.5, 1 ],
[ -0.5, -0.5, -1 ], [ 0.5, -0.5, -1 ],
[ -0.5, 0.5, -1 ], [ 0.5, 0.5, -1 ]
],
distanceToGoal: [Function: distanceToGoal],
bend: [Function: bend]
}出力(このページを作ったときに実行した結果)
この日本語は、まだ日本語を母語とする方の確認を受けていません。訂正を歓迎します。