Как потянуть Корректную Перспективой Сетку в 2D

Вы должны использовать числовую формулу для возврата 1 и 0 и текстовую формулу, если вы возвращаете «1» и «0». Я не уверен, что есть более элегантный способ получить желаемые результаты, но могут работать следующие критерии:

a. Formula (Numeric) is equal to 1 then 
b. Formula = Case when {item.vendorcode}='CE263AG' OR {item.vendorcode}='51640A' then 1 else 0 end

Удачи!

7
задан Neil N 5 February 2010 в 22:27
поделиться

6 ответов

Вот решение.

Основная идея - Вы, может найти, что перспектива исправляет "центр" Вашего прямоугольника путем соединения углов по диагонали. Пересечение двух получающихся строк является Вашей перспективой корректный центр. Оттуда Вы подразделяете свой прямоугольник на четыре меньших прямоугольника, и Вы повторяете процесс. Количество раз зависит от того, как точный Вы хотите его. Можно подразделить к чуть ниже размера пикселя для эффективно идеальной перспективы.

Затем в Ваших подпрямоугольниках Вы просто применяете свой стандарт неисправленные "текстурированные" треугольники или прямоугольники или что бы то ни было.

Можно выполнить этот алгоритм, не идя в сложную проблему создать 'реальный' 3-й мир. для того, также хорошо, если у Вас действительно есть реальный 3-й мир смоделированным, но Ваши textriangles не являются перспективой, исправленной в аппаратных средствах, или Вам нужен производительный способ получить перспективу корректные плоскости без на пиксельный обман рендеринга.

15
ответ дан 6 December 2019 в 06:51
поделиться

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

Однако я полагаю, что Вы можете применять изменение Теоремы Хага (который используется в оригами для деления стороны на Nths, учитывая сторону, разделенную на (N-1) тыс) к квадратным перспективой подразделениям для создания произвольных подразделений из самого близкого питания 2, не имея необходимость продолжать подразделять.

3
ответ дан 6 December 2019 в 06:51
поделиться

В то время как моему google-fu не удалось произвести любое горное тело математическое решение, возможно, этот рисунок, который я нашел, мог помочь немногому.

http://studiochalkboard.evansville.edu/lp-diminish.html

Я думаю, что могло бы на самом деле быть довольно трудно придумать корректную математику самостоятельно, это - вероятно, своего рода логарифмическое выражение или выражение суммирования. Надо надеяться, рисунок и условия в той ссылке могли бы предоставить что-то немного более доступное для поиска Вам.

3
ответ дан 6 December 2019 в 06:51
поделиться

Проблема состоит в том, что это - преобразование от 3D до 2D, это получает Вас.

Вот учебное руководство о том, как оно сделано.

-1
ответ дан 6 December 2019 в 06:51
поделиться

В особом случае, когда Вы выглядите перпендикулярными сторонам 1 и 3, можно разделить те стороны в равной степени. Затем потяните диагональ и проведите параллели для запасного пути 1 через каждое пересечение диагонали и разделительных линий, оттянутых ранее.

0
ответ дан 6 December 2019 в 06:51
поделиться

То, что необходимо сделать, представляют его в 3D (мир) и затем проектируют его вниз к 2D (экран).

Это потребует, чтобы Вы использовали 4D матрица преобразования, которая делает проекцию на 4D гомогенный вниз к 3D гомогенному вектору, который можно затем преобразовать вниз в 2D экранный вектор пространства.

Я не мог найти его в Google также, но хорошей компьютерной графике, книги будут иметь детали.

Ключевые слова являются матрицей проекции, трансформацией проекции, аффинным преобразованием, гомогенным вектором, мировым пространством, экранируют пространство, перспективное преобразование, 3D преобразование

И между прочим, это обычно берет несколько лекций для объяснения всего этого. Так удача.

-1
ответ дан 6 December 2019 в 06:51
поделиться
Другие вопросы по тегам:

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