diff --git a/docs/quaternion-eng.md b/docs/quaternion-eng.md index 4d2db25..93bf626 100644 --- a/docs/quaternion-eng.md +++ b/docs/quaternion-eng.md @@ -1,6 +1,6 @@ # Quaternions -If brief, quaternions are hypercompex numbers with one real component and three +If brief, quaternions are hypercomplex numbers with one real component and three complex components. Quaternions can be represented with formulas: ![Definition of quaternions](./media/quaternion_definition.png) @@ -23,8 +23,8 @@ as for a four-dimensional vector; * modulus of a quaternion is calculated the same way as for four-dimensional vector. -But the product of two quaternions is comletely different result than the dot -product of two four-dimensional vectors. +But the product of two quaternions is comletely different than the dot product +of two four-dimensional vectors. Another way to represent a quaternion is a pair of a real number and a three-dimensional vector: @@ -52,13 +52,17 @@ Versors are not possible to add and subtract. Versors cannot be mutiplied or divided with a real number. But quaternions can be added and subtracted, multiplied and divided with a number. -But versors can be combined. It is the same operation as multiplication of +Versors can be combined. It is the same operation as multiplication of two quaternions but the function of combination of two versors watches that the resulting versor has modulus equal to 1. All the functions which change the state of a versor keep the modulus of a versor close to 1. +Yes, the modulus of a versor is very close to 1 because floating point numbers +are not perfect and have little aberrations. Thus the modulus is not always +equal to 1 but very close to 1. + There two structural types for quaternions: typedef struct { diff --git a/docs/quaternion-rus.md b/docs/quaternion-rus.md index 539738a..c331b44 100644 --- a/docs/quaternion-rus.md +++ b/docs/quaternion-rus.md @@ -38,19 +38,30 @@ ## Реализация кватернионов в библиотеке -В библиотеке кватернионы реализованы как в виде обычных кватернионов, так и -в виде веросоров. +В библиотеке кватернионы реализованы в двух вариантах: +* в виде обычных кватернионов +* в виде веросоров -Главное отличие в том, что реализация версоров ориентирована именно для -представления поворотов в трёхмерном пространстве. +Главное отличие в реализации кватернионов и версоров том, что реализация +версоров ориентирована именно для представления поворотов в трёхмерном +евклидовом пространстве пространстве, в то время как кватернионы имеют более +общую реализацию. -Версоры нельзя складывать, вычитать, что можно делать с кватернионами. Также -версоры нельзя умножать и делить на вещественные числа. +Версоры нельзя складывать, вычитать. Также версоры нельзя умножать и делить на +вещественные числа. Но кватернионы можно складывать, вычитать, а также умножать +и делить на вещественное число. -Но версоры можно комбинировать. Операция комбинирования версоров по является -обычным произведением кватернионов. Единственное отличие в том, что операция -комбинирования версоров обеспечивает, чтобы результат комбинации также был -версором, то есть, имел модуль, равный единицы. +Версоры можно комбинировать. Операция комбинирования версоров является обычным +произведением кватернионов. Единственное отличие в том, что операция +комбинирования версоров обеспечивает, чтобы результат комбинации также имел +модуль, равный единицы. + +Все функции версоров, которые менияют состояние версора, обеспечивают, чтобы +модуль версора оставался близким к единице. + +Да, модуль версора очень близок к единице, потому что числа с плавающей запятой +не совершенны и имеют небольшие погрешности. Поэтому модуль не всегда равен +единице, но очень близок к единице. Для описаия кватернионов есть две структуры: