本文へ移動

Meikyuu迷宮

シード付きの迷路と矢印パズルを作り、番号付きの問題を進め、平面や立体表面で遊べます。

「迷宮」は迷路のように入り組んだ場所を表す言葉です。 名前について(英語)

目次

リファレンス · 立体表面の規則と形

projectFrame関数

リファレンスの説明と例は英語です。見出しと目次は日本語です。

Put the solid, turned by q and zoomed, on a picture width by height: fills every array of the frame.

インポート

import { projectFrame } from "@johnmorrisdotca/meikyuu/3d";

定義

function projectFrame(frame: SolidFrame, grid: SolidGrid, q: Quat, zoom: number, width: number, height: number): SolidFrame

引数

名前型説明
frameSolidFrame

The current projected surface-view arrays and dimensions.

gridSolidGrid

The valid native flat or surface cell graph.

qQuat

The current normalized rotation quaternion.

zoomnumber

The positive surface-view zoom multiplier.

widthnumber

The native width in cells or pixels specified by this signature.

heightnumber

The native height in cells or pixels specified by this signature.

戻り値

SolidFrame

Put the solid, turned by q and zoomed, on a picture width by height: fills every array of the frame.

例

import type { MazeRecipe } from "@johnmorrisdotca/meikyuu";
import { buildMaze } from "@johnmorrisdotca/meikyuu";
import type { Quat, SolidRecipe } from "@johnmorrisdotca/meikyuu/3d";
import { buildSolidMaze, createFrame, projectFrame } 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;
const q: Quat = [0,0,0,1];
const frame = projectFrame(createFrame(solidGrid),solidGrid,q,1,640,480);
console.log(projectFrame(frame,solidGrid,q,1,640,480).cellPixels);
225.60000000000002

出力(このページを作ったときに実行した結果)

ソースを見るGitHub で編集@johnmorrisdotca/meikyuu 3.2.0 のソースから作成しました。

この日本語は、まだ日本語を母語とする方の確認を受けていません。訂正を歓迎します。