Преобразование координат точек и векторов

Материал из K3-Macro
Макро | Математические функции | Алгебраические и тригонометрические функции | Функции работы с матрицами | Функции аффинных преобразований | Работа с векторами | Функции геометрических вычислений | Преобразование координат точек и векторов | Работа с битовыми масками

Команды PTransCS, VtransCS

VOID PTransCS(INT <CS1>, INT <CS2>, DOUBLE <X1>, DOUBLE <Y1>, DOUBLE <Z1>, VARNAME <X2>, VARNAME <Y2>, VARNAME <Z2>)

VOID VTransCS(INT <CS1>, INT <CS2>, DOUBLE <X1>, DOUBLE <Y1>, DOUBLE <Z1>, VARNAME <X2>, VARNAME <Y2>, VARNAME <Z2>)

Функции осуществляют преобразование координат точки (PTransCS) или вектора (VTransCS) из одной системы координат (СК) в другую.

На входе:

<CS1> — исходная СК;

<CS2> — требуемая СК

Возможные значения <CS1>, <CS2>:

0 — Текущая
1 — Видовая
2 — Пользовательская
3 — Глобальная

<X1>, <Y1>, <Z1> — координаты точки (вектора) в исходной СК

<X2>, <Y2>, <Z2> — имена переменных, которым функция присвоит значения координат в требуемой СК;

Пример:

// Преобразуем точку с координатами (100,0,100) из ГСК в ВСК
// Результат (-100, 100, 0).
Gcs             // Установили текущей глобальную СК
View 0 1 0;     // Установили текущий вид - вид спереди
PTransCS(3,1,100,0,100,xv,yv,zv);
=xv;
-100
=yv;
100
=zv;
0
// Преобразуем точку из ГСК в текущую систему координат
PTransCS(3,2,100,0,100,xv,yv,zv);
=xv;
-700
=yv;
250
=zv;
120

Макро | Математические функции | Алгебраические и тригонометрические функции | Функции работы с матрицами | Функции аффинных преобразований | Работа с векторами | Функции геометрических вычислений | Преобразование координат точек и векторов | Работа с битовыми масками