Я изучаю ИТ, и я должен показать, что добавление двух точек путем добавления координат - плохая идея. Я не знаю почему? (кроме численных задач). Это как-то связано с параллелограммом? Извините за мой английский. Поздравил.Почему добавление двух точек путем добавления координат не так?
ответ
Это действительно сильно зависит от контекста. Но часто имеет смысл различать точки и векторы. И, если вы делаете такое различие, тогда векторы могут быть добавлены друг к другу, но точек не должно быть.
Концептуально говоря, точка указывает на местоположение , в то время как вектор указывает на расстояние в определенном направлении .
Математически идея состоит в том, что в отличие от векторного пространства геометрическое пространство не имеет происхождения, поэтому вы предоставляете только те операции, которые отражают эти принципы.
Различие несколько педантично, поскольку основное представление ваших геометрических точек почти наверняка будет таким же, как вектор. Тем не менее, ваш API может иметь смысл отражать математические принципы, поскольку это затрудняет некоторые виды ошибок программирования.
Практически говоря, вектор является разница между двумя точками. Таким образом, вы можете вычесть две точки для получения вектора, и вы можете добавить вектор к точке, чтобы получить другую точку. Тем не менее, векторы могут быть масштабированы, добавлены, вычитаны, точечные и т. Д. С другими векторами. Чистый эффект ограничения API заключается в том, чтобы потребовать, чтобы вы сначала вычитали точки, чтобы получить вектор, прежде чем делать векторную математику, а затем применить к существующей точке, если вам нужно вывести результат точки.
Обе точки и векторы могут быть представлены равномерно с использованием однородных координат: векторы будут иметь дополнительную координату w=0
, тогда как точки будут иметь w!=0
. В этом контексте поиск геометрического вектора между двумя точками является сложным, потому что сначала вам необходимо нормализовать их до w=1
, и особенно важно избегать неосторожного добавления двух точек, потому что результат, как правило, не будет вести себя так, чтобы он делал много геометрического смысла ...
БОЛЬШОЕ СПАСИБО Я надеюсь, что это все, что я должен объяснить во время представления ответа на вопрос;) –
Просто сделал небольшое обновление для объяснения ... – comingstorm
Если у вас есть время, я бы рекомендовал некоторые чтения на базовой компьютерной графике, также. – comingstorm
Что вы подразумеваете под "добавлением двух очков"? –
Можете ли вы подробнее объяснить: какие моменты? декартово (x, y) или (географическое) сферическое latitdue, долготные координаты? – AlexWien
Добавление двух точек? Вы имеете в виду векторы? –