Следующие примеры показывают некоторых из обычно используемых функций и операторов в точке, векторе, и матричных классах. Эти примеры используют трехмерные классы, но большинство их также обращается к 2-ым классам также.
Заданный по умолчанию конструктор для точек и векторов инициализирует все координаты к 0.
Точки и векторы могут также быть созданы, определяя их координаты следующим образом:
AcGePoint3d p1 (2.0,5.0, -7.5), p2, p3 (1.0,2.0,3.0);
AcGeVector3d v1 (3.0,4.0,5.0), v2 (0.0,1.0, -1.0), v3;
Точка и векторные классы обеспечивают +, + =, -, и - = операторы. Эти операторы позволяют точки и векторы использоваться аналогичным способом, поскольку встроенные типы, типа удваиваются и целые числа. Следующее - примеры добавления и вычитания точек и векторов:
p2 = p1 + v1; // Set p2 to sum of p1 and v1.
p1 += v1; // Add v1 to p1.
p3 -= v1; // Subtract v1 from p3.
v3 = v1 + v2; // Set v3 to sum of v1 and v2.
v1 + = v2; // Прибавляют v2 к v1.
v3 = v1 - v2; // Набор v3 к различию v1 и v2.
Не имеется никакого + оператор для добавления двух точек; однако, точка может быть преобразована к вектору, который может тогда быть добавлен к другой точке:
p1 + = p2.asVector ();
Следующее - примеры того, как получить негатив вектора:
v2 = -v1; // Набор v2 к негативу v1.
v1.negate (); // Это эквивалентен v1 = -v1.
Следующее - примеры различных способов масштабировать вектор:
v1 * = 2.0; // Удваивает длину v1.
v3 = v1 / 2.0; // Набор v3 к половине длины v1.
v1.normalize (); // Делают v1 единичным вектором.
Точка и векторные классы содержат множество функций запроса для вычислительных расстояний и длин:
double len = v2.length(); // Длина v2.
len = p1.distanceTo (p2); // Расстояние от p1 до p2.
Следующая функция очень полезна для вычисления угла между двумя трехмерными векторами. Следующие возвращения угол между v1 и v2, где угол принят, чтобы быть против часовой стрелки относительно v3 (v3, приняты, чтобы быть перпендикулярными к v1 и v2):