Autodesk Inventor API. Первые шаги/TransientGeometry: различия между версиями
Содержимое удалено Содержимое добавлено
Vananiev (обсуждение | вклад) |
Vananiev (обсуждение | вклад) |
||
Строка 455:
Матрицы очень широко применяются в задачах точного позиционирования и изменения ориентация компонентов в сборках Инвентора.
Матрица представляет собой двумерный массив чисел. Для трехмерного пространства Инвентор поддерживает объект Matrix, для двумерных пространств предусмотрен объект Matrix2d. Объект Matrix представляет собой матрицу размерностью 4x4 (4 строки и 4 столбца). Объект Matrix2d представляет собой матрицу размерностью 3x3. Ниже
<math>\begin{pmatrix}
Строка 465:
<!-- [[Изображение: TransGeom_Matrix_1.png | ]] -->
Объект Matrix инкапсулирует в себе 16 значений
Дальнейшее изложение сфокусировано на практическом подходе к матрицам, который в свое время помог автору. Надеюсь, что этот подход окажется полезным и для читателя. В зависимости от решаемой задачи, я рассматриваю матрицы с двух точек зрения. В первом случае матрица служит инструментом для задания системы координат. Во втором случае матрица описывает некоторое геометрическое преобразование. Первый подход является самым простым и наиболее полезным. ▼
▲
Рассмотрим, из чего состоит система координат, и увидим, каким образом матрица обеспечивает требуемую информацию. Координатная система описывает положение и ориентацию в пространстве. В трехмерном пространстве начало координат есть трехмерная координатная точка (x.y.z), заданная в пространстве модели. Она задает положение системы координат. Ориентация системы координат описывается направлениями главных осей x, y и z. ▼
Первый подход является самым простым и наиболее полезным.
В ортогональных системах координат, которые всегда используются Инвентором, действует ряд жестких правил, уже обсуждавшихся выше, а именно, оси x,y и z являются взаимно перпендикулярными, а направление оси z удовлетворяет правилу правой руки. Все три вектора направлений являются единичными. ▼
▲Рассмотрим, из чего состоит система координат, и
<math>(x.y.z)</math>, заданная в пространстве модели. Она задает положение системы координат. Ориентация системы координат описывается направлениями главных осей <math>x</math>, <math>y</math> и <math>z</math>.
▲В ортогональных системах координат, которые всегда используются Инвентором, действует ряд
[[Изображение: TransGeom_Matrix_2.jpg | ]]
Следующий рисунок показывает, каким образом матрица хранит геометрическую информацию о системе координат. Во-первых, при использовании матрицы вы можете игнорировать нижнюю строку. В ней всегда хранятся одни и те же значения 0, 0, 0, 1. Остальные 12 значений определяют координатную систему. Первый столбец описывает компоненты направления оси <math>x</math> (1,0,0). Второй столбец задает направление оси <math>y</math> (0,1,0), третий — оси <math>z</math> (0,0,1). Последний столбец определяет положение начала системы координат (0,0,0). Показанная справа матрица называется единичной. Начало координат и направления единичных векторов совпадают с базовой системой координат. Такая матрица не описывает ни перемещения, ни вращения.
[[Изображение: TransGeom_Matrix_3.jpg | ]]
[[Изображение: TransGeom_Matrix_4.gif | ]]
Рассмотрим сначала ось <math>x</math>. Если новая система координат повернута на 45° вокруг оси <math>z</math>, значит и ось <math>x</math> повернута относительно базовой оси <math>x</math> на 45° в положительном направлении отсчета углов. Таким образом, ось <math>x</math> направлена в направлении вектора (1, 1, 0), но поскольку вектор системы координат должен быть единичным, то результат должен выглядеть так (0.707, 0.707, 0). Соответственно, ось <math>y</math> имеет отрицательную компоненту по <math>x</math> и положительную по <math>y</math> и будет выглядеть следующим образом (-0.707, 0.707, 0). Ось <math>z</math> направления не меняет (0, 0, 1). Наконец, в четвертом столбце вписываются координаты точки начала системы координат (10, 5, 0).
<!-- [[Изображение: TransGeom_Matrix_5.gif | ]] -->
Строка 495 ⟶ 498 :
\end{pmatrix}</math>
Приведенный ниже фрагмент кода демонстрирует технику
При задании координатной системы не следует забывать, что все геометрические величины задаются во внутренних единицах Инвентора, в частности, '''длины всегда задаются в сантиметрах'''.
<pre>
Строка 573 ⟶ 576 :
</pre>
Чаще всего матрицы применяются при работе с компонентами сборок, а именно, матрицы используются для задания положения и ориентации вставляемых в сборку компонентов. Рассмотрим конкретный пример, используя деталь, показанную на
[[Изображение: TransGeom_Matrix_6.jpg | ]]
Если вы откроете новую сборку и вручную вставите в сборку экземпляр такой детали, то увидите, что компонент оказался в начале координат сборки, а ориентация системы координат компонента будет эквивалентна ориентации системы координат сборки. Дело в том, что для позиционирования первого компонента Инвентор использует единичную матрицу. Если мы добавим к предыдущей программе следующий фрагмент кода, деталь будет вставлена в точке (10,5,0) и повернута вокруг оси <math>z</math> на 45°.
<pre>
|