Другие языки программирования и технологии
Что такое вектор и что должен содержать класс вектора? (С++)
Простите школоту за глупый вопрос, и если можете поправьте, где ошибся. Вектор - это направленный отрезок (верно?) тобишь класс должен иметь 3 переменные начальную точку, конечную точку и направление class point { float x; float y; float z; } class vector { public: point a; point b; bool direction; }
вектор - не направленный отрезок. точнее, это вообще не отрезок.
вот ускорение свободного падения - вектор. оно имеет направление (вниз, к земле) и интенсивность. не важно, к чему вы его прилагаете: к телу соседа, выпавшего из окна, или к столу, стоящему на полу.
вектор имеет ровно те же те же компоненты, что и точка. если точка характеризуется тремя координатами (x, y, z), то и вектор харакеризуется тройкой чисел (x, y, z). никаких точек и bool direction не придумывайте. разница между вектором и точкой в контексте реализации - только в семантике (в частности, в наборе операций) . однако отождествлять их и мешать всё в кучу тоже нельзя.
короче, объяснять матан на пальцах - упражняться в бесполезном. откройте любую книгу по линейной алгебре и аналитической геометрии - на первых же страницах сразу найдёте что такое вектора и как их варить.
вектор перемещения можно найти, "отняв" от конечной точки начальную (то, что вы щас пытаетесь описать) . но это только вектор перемещения и только в евклидовом пространтве.
вот ускорение свободного падения - вектор. оно имеет направление (вниз, к земле) и интенсивность. не важно, к чему вы его прилагаете: к телу соседа, выпавшего из окна, или к столу, стоящему на полу.
вектор имеет ровно те же те же компоненты, что и точка. если точка характеризуется тремя координатами (x, y, z), то и вектор харакеризуется тройкой чисел (x, y, z). никаких точек и bool direction не придумывайте. разница между вектором и точкой в контексте реализации - только в семантике (в частности, в наборе операций) . однако отождествлять их и мешать всё в кучу тоже нельзя.
короче, объяснять матан на пальцах - упражняться в бесполезном. откройте любую книгу по линейной алгебре и аналитической геометрии - на первых же страницах сразу найдёте что такое вектора и как их варить.
вектор перемещения можно найти, "отняв" от конечной точки начальную (то, что вы щас пытаетесь описать) . но это только вектор перемещения и только в евклидовом пространтве.
> и направление
Нашиша направление-то, если точки и так его задают - от такой-то начальной к такой-то конечной ?)
Нашиша направление-то, если точки и так его задают - от такой-то начальной к такой-то конечной ?)
Направление излишне. Есть начальная точка, она первая, есть конечная, она вторая. Этого достаточно, чтобы знать направление.
Какая разница, класс или структура? Если, собираешься методы обработки векторов написать, то можно класс задать, если методы писать не будешь, достаточно структуры.
Вот, к примеру, класс:
class Vector
{
float x, y, z;
Vector() {};
Vector(float v) {x=y=z=v;}
Vector& operator = (const Vector& v)
{
x=v.x; h=v.y; z=v.z; return *this;
}
}
Вот, к примеру, класс:
class Vector
{
float x, y, z;
Vector() {};
Vector(float v) {x=y=z=v;}
Vector& operator = (const Vector& v)
{
x=v.x; h=v.y; z=v.z; return *this;
}
}
Владимир Юска
float x, y, z; //допустим начало, где конец?
Я сказал,что структурой надо сделать POINT, а не VECTOR.
POINT - структура, содержащая положение точки в 3D пространстве...
Я сказал,что структурой надо сделать POINT, а не VECTOR.
POINT - структура, содержащая положение точки в 3D пространстве...
>>Вектор - это направленный отрезок (верно? )
верно
>>тобишь класс должен иметь 3 переменные
нет, это подходит только для пространства размерностью 3.
в идеале класс вектор имеет n переменных, где n - число векторов в базисе пространства
>>начальную точку, конечную точку и направление
класс вектор должен содержать компоненты вектора в выбранном базисе.
точки и направления излишни
это необходимо для упрощения последующих арифметико-логических операций с объектом класса.
и после описания класса ставится точка с запятой.
верно
>>тобишь класс должен иметь 3 переменные
нет, это подходит только для пространства размерностью 3.
в идеале класс вектор имеет n переменных, где n - число векторов в базисе пространства
>>начальную точку, конечную точку и направление
класс вектор должен содержать компоненты вектора в выбранном базисе.
точки и направления излишни
это необходимо для упрощения последующих арифметико-логических операций с объектом класса.
и после описания класса ставится точка с запятой.
Похожие вопросы
- Сортировка вектора обьектов класса по 1 из аттрибутов.
- Алгоритмы стандартной библиотеки шаблонов. Вектора в C++.
- Работа с математическими векторами в программировании (Основы)
- Вот логотип нарисовал. Буду переводить в вектор. Оцените по 10 бальной шкале :)
- Паскаль! Даны векторы: a={xn}, b={yn}, c={zn}, d={dn}. Построить матрицу К, сторонами которой являются упорядочены в
- C++ Сортировка в сортировке вектора экземпляров структуры
- Векторы в Си
- Почему визитки обычно в векторе делают, а не в растре? зачем готовый растр переводят в вектор, объясните
- Adobe Illustrator перевод из растра в вектор без помощи трассировки, вручную. Как грамотно научиться?
- Итератор для вектора... С++
вектор - фаза + амплитуда, или направление + скорость. к чему вы прикладываете вектор - не важно, поэтому никаких точек там нет