Следовать подходу Rons: можно найти z-значения, если Вы знаете, как Вы повернули свой прямоугольник.
прием должен найти проективную матрицу, которая сделала проекцию. К счастью, это возможно и даже дешево, чтобы сделать. Соответствующая математика может быть найдена в газете "Проективные Отображения для Изображения, Деформирующегося" Paul Heckbert.
http://pages.cs.wisc.edu/~dyer/cs766/readings/heckbert-proj.pdf
Этот способ, которым можно восстановить однородную часть каждой вершины назад, которая была потеряна во время проекции.
Теперь Вас все еще оставляют с четырьмя строками вместо точек (как Ron объяснил). Так как Вы знаете размер своего исходного прямоугольника однако, ничто не потеряно. Можно теперь включить данные из метода Ron и из 2D подхода в решатель линейного уравнения и решить для z. Вы получаете точные z-значения каждой вершины тот путь.
Примечание: Это просто работает потому что:
Это - особый случай действительно.
Hope это помогает, Nils
MySql (и другие sql-движки AFAIK) не делает автоматического отката транзакции при возникновении ошибки.
Вы должны объявить обработчик ошибок, который откатит транзакцию:
DECLARE EXIT HANDLER FOR SQLEXCEPTION, SQLWARNING, NOT FOUND
BEGIN
ROLLBACK;
CALL ERROR_ROLLBACK_OCCURRED;
END;
Если вставка не удалась из-за дубликата, база данных откатывает транзакцию до начала этого оператора .
Он использует внутреннюю точку сохранения, созданную в начале оператора, затем откатывается к этой точке сохранения.
Он НЕ выполняет откат всей транзакции, потому что это могло быть не то, что вы хотели.
Поведение клиента mysql можно настроить с помощью параметров командной строки. Он может либо выйти (что приведет к неявному откату), либо продолжить.
Если вы используете собственное приложение, то что оно делает, зависит от вас.
Mysql не навязывает ПОЛИТИКУ на то, как вы обрабатываете сбои - он оставляет это до вашего приложения. Так что то, что вы с ними делаете, - ваше личное дело - вы можете игнорировать их, если хотите.