Формула для матрицы ортогональной проекции?

Если ваша цель - получить текст, вы можете обойти это с помощью JS на странице DOM.
Измените это:

const lis = await page.$(".data-table > tbody > tr > td");

const appInfo = await page.$("a.icon");

for (const content of lis) {
  const name = await content.$("div.appname");
  const gameName = await page.evaluate(name => name.innerText, name);
  console.log("Game Name: ", gameName);
}

На это:

const appInfo = await page.$("a.icon");

const texts = await page.evaluate(() => {
  const textsToReturn = [];

  const elems = Array.from(document.querySelectorAll('.data-table > tbody > tr > td'));

  for (const el of elems) {
   textsToReturn.push(el.querySelector('div.appname').innerText)
  }

  // If I'm not mistaken, puppeteer doesn't allow to return complicated data structures, so we'll stringify
  return JSON.stringify(textsToReturn)
})

// And here is your game names
console.log('Game names', JSON.parse(texts));

Примечание: этот код не был протестирован на реальной HTML-странице, так как нет примера. 113]
Но вы должны получить представление о том, как переопределить логику кукловода с помощью нативных методов DOM, чтобы достичь цели.

8
задан Bob Cross 12 May 2009 в 02:07
поделиться

2 ответа

Вот разумный источник, который выводит ортогональную матрицу проекта :

Рассмотрим несколько моментов: Во-первых, в глаза пространство, ваша камера расположена в происхождение и глядя прямо вниз ось z. Во-вторых, вы обычно хотите, чтобы ваше поле зрения расширилось так же далеко влево, как и справа и так же далеко над ось z, как показано ниже. Если это так, ось z проходит прямо через центр вашего объема обзора, и поэтому вы имеют r = –l и t = –b. В других слова, можно забыть о r, l, t, и b вместе, и просто определим ваш объем обзора по ширине w и высоту h вместе с вашим другие плоскости отсечения f и n. если ты сделать эти замены в ортогональная матрица проекции выше, вы получаете это довольно упрощенно версия:

Все вышеперечисленное дает вам матрицу, которая выглядит следующим образом (добавьте поворот и перемещение, если вы хотите, чтобы полученная матрица преобразования обрабатывала произвольное положение и ориентацию камеры).

A LaTeX rendering of the orthographic projection matrix
(источник: codeguru.com )

9
ответ дан 5 December 2019 в 17:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: