Comments 19
Про замену базиса ни слова?
для КДПВ можно было сделать анимацию классических игр на консолях. На той же Суперфамиком целый режим бэкграунда mode7 это чистый пример аффинных трансформаций.
Перспектива добавляется хитрой манипуляцией с каждым сканлайном.
Здесь на хабре есть еще хорошая статья по теме, а так, вся эта матричная кухня наиболее внятно раскрыта в книжке:
Роджерс Д., Адамс Дж. Математические основы машинной графики
методически все наоборот: он начинает с «умных» слов и букв, а заканчивает
тем, с чего бы следовало начать. Кстати, аффинное или афинное — обе формы
допустимы, во второй легче делать правильной ударение на «и». По мне так и
нужно начинать с трех составляющих преобразований — это просто и понятно.
Потом записать уравнения. Потом матрицу. А потом для ясности можно поговорить
и про преобразование в математическом смысле. Приведенное автором «популярное»
определение непрерывности уж слишком, на мой вкус, популярно до неправильности.
Что такое «точки близко» или «где-то рядом»? Я ведь могу взять две точки сколь
угодно близко и придумать такое преобразование, которое разносит их по
краям вселенной. И что? Такое статическое определение не годится. Все дело в том,
что если я начну сближать мои исходные точки, преобразованные тоже начнут
сближаться. Если исходное расстояние стремится к 0, то и преобразованное
расстояние — тоже. Это если есть непрерывность. Это такое локальное предельное
понятие. Дедушка Фихтенгольц машет ручкой.
что в университете я эту тему прохлопал ушами. А лет аж через 30 пришлось
заниматься алгоритмами совмещения фрагментов спутниковых снимков,
сделанных под разными углами. Тут аффинное преобразование вылазит самым
естественным образом. Пришлось открывать заново, и до моей тупой головы
все дошло как раз с понимания того, что это сумма трансляций, вращений и
растяжений. Дальше уже детали.
А с другой стороны, это как задача про курицу и яйцо. Будешь давать много практики и мало теории — уже через десяток лет будет поколение безграмотных «специалистов», которые даже не будут знать, откуда у всех этих методов и алгоритмов ноги растут. Они не смогут сопоставить, например, машинное обучение и статистику. А будешь давать много теории и мало практики — будут голые теоретики, которые, к тому же, ничего не запомнили. А как соблюсти этот баланс?..
Далее - преобразование взаимооднозначно, если разные точки переводятся в разные точки и в каждую точку переводится какая-то точка. Например: если мы отобразили отрезок и он слипся в точку - это не взаимооднозначное преобразование. Из отрезка мы должны получить ровно такой же отрезок, тогда будет взаимооднозначно (если это сработает для всех отрезков, конечно).
вы что-то путаете. В математике точка - это что-то безразмерное. Т.е. отрезок - это некоторое множество точек, а каждой точке одного отрезка можно поставить в соответствие точку другого отрезка - независимо от длин отрезков и даже если у отрезков есть "выколотые" точки (множество не содержит данные элементы)
Что за зверь — аффинные преобразования?