pickCell関数
リファレンスの説明と例は英語です。見出しと目次は日本語です。
The cell the point (x, y) of the picture is on, or -1 for none. The point is on a cell when it is inside the outline the cell is drawn with;
a point on the line between two cells is on the lower numbered. Where outlines overlap (they do not on a convex solid, but a flattened globe's might at the very
edge, and a star, a cross or a heart has parts in front of parts) the cell nearest the viewer at that point wins.
インポート
import { pickCell } from "@johnmorrisdotca/meikyuu/3d";
定義
function pickCell(frame: SolidFrame, grid: SolidGrid, x: number, y: number): number
引数
| 名前 | 型 | 説明 |
|---|---|---|
frame | SolidFrame | The current projected surface-view arrays and dimensions. |
grid | SolidGrid | The valid native flat or surface cell graph. |
x | number | The horizontal viewport coordinate. |
y | number | The vertical viewport coordinate. |
戻り値
number
The cell the point (x, y) of the picture is on, or -1 for none. The point is on a cell when it is inside the outline the cell is drawn with; a point on the line between two cells is on the lower numbered. Where outlines overlap (they do not on a convex solid, but a flattened globe's might at the very edge, and a star, a cross or a heart has parts in front of parts) the cell nearest the viewer at that point wins.
例
import type { MazeRecipe } from "@johnmorrisdotca/meikyuu";
import { buildMaze } from "@johnmorrisdotca/meikyuu";
import type { Quat, SolidRecipe } from "@johnmorrisdotca/meikyuu/3d";
import { buildSolidMaze, createFrame, pickCell, 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(pickCell(frame,solidGrid,320,240));16出力(このページを作ったときに実行した結果)
この日本語は、まだ日本語を母語とする方の確認を受けていません。訂正を歓迎します。