From 3ff894cf5da3af10b8e662dad05b02b83048bc31 Mon Sep 17 00:00:00 2001 From: Andrey Pokidov Date: Mon, 25 Nov 2024 01:57:35 +0700 Subject: [PATCH] =?UTF-8?q?=D0=9D=D0=B0=D0=BF=D0=B8=D1=81=D0=B0=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D0=B4=D0=BE=D0=BA=D1=83=D0=BC=D0=B5=D0=BD=D1=82?= =?UTF-8?q?=D0=B0=D1=86=D0=B8=D0=B8:=20=D0=BA=D0=B2=D0=B0=D1=82=D0=B5?= =?UTF-8?q?=D1=80=D0=BD=D0=B8=D0=BE=D0=BD=D1=8B=20=D0=B8=20=D0=B2=D0=B5?= =?UTF-8?q?=D1=80=D1=81=D0=BE=D1=80=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/{english/Angle.md => angle-eng.md} | 0 docs/{russian/Angle.md => angle-rus.md} | 0 docs/media/compex_number_000.png | Bin 0 -> 4274 bytes docs/media/compex_number_001.png | Bin 0 -> 8211 bytes docs/media/compex_number_002.png | Bin 0 -> 3835 bytes docs/media/imaginary_anticommutative.png | Bin 0 -> 1718 bytes docs/media/imaginary_anticommutative2.png | Bin 0 -> 4390 bytes docs/media/imaginary_j.png | Bin 0 -> 2361 bytes docs/media/imaginary_k.png | Bin 0 -> 2575 bytes docs/media/quaternion_definition.png | Bin 0 -> 7943 bytes docs/media/quaternion_mixed_form.png | Bin 0 -> 4732 bytes docs/media/quaternion_result.png | Bin 0 -> 8804 bytes docs/media/quaternion_vector4_form.png | Bin 0 -> 2923 bytes docs/media/versor_definition.png | Bin 0 -> 10353 bytes docs/{english/Prefixes.md => prefixes-eng.md} | 2 +- docs/{russian/Prefixes.md => prefixes-rus.md} | 0 docs/quaternion-rus.md | 104 ++++++++++++++++++ docs/{english/Vector2.md => vector2-eng.md} | 0 docs/{russian/Vector2.md => vector2-rus.md} | 0 docs/{english/Versor.md => versor-eng.md} | 4 +- docs/{russian/Versor.txt => versor-rus.md} | 22 ++-- 21 files changed, 114 insertions(+), 18 deletions(-) rename docs/{english/Angle.md => angle-eng.md} (100%) rename docs/{russian/Angle.md => angle-rus.md} (100%) create mode 100644 docs/media/compex_number_000.png create mode 100644 docs/media/compex_number_001.png create mode 100644 docs/media/compex_number_002.png create mode 100644 docs/media/imaginary_anticommutative.png create mode 100644 docs/media/imaginary_anticommutative2.png create mode 100644 docs/media/imaginary_j.png create mode 100644 docs/media/imaginary_k.png create mode 100644 docs/media/quaternion_definition.png create mode 100644 docs/media/quaternion_mixed_form.png create mode 100644 docs/media/quaternion_result.png create mode 100644 docs/media/quaternion_vector4_form.png create mode 100644 docs/media/versor_definition.png rename docs/{english/Prefixes.md => prefixes-eng.md} (96%) rename docs/{russian/Prefixes.md => prefixes-rus.md} (100%) create mode 100644 docs/quaternion-rus.md rename docs/{english/Vector2.md => vector2-eng.md} (100%) rename docs/{russian/Vector2.md => vector2-rus.md} (100%) rename docs/{english/Versor.md => versor-eng.md} (98%) rename docs/{russian/Versor.txt => versor-rus.md} (70%) diff --git a/docs/english/Angle.md b/docs/angle-eng.md similarity index 100% rename from docs/english/Angle.md rename to docs/angle-eng.md diff --git a/docs/russian/Angle.md b/docs/angle-rus.md similarity index 100% rename from docs/russian/Angle.md rename to docs/angle-rus.md diff --git a/docs/media/compex_number_000.png b/docs/media/compex_number_000.png new file mode 100644 index 0000000000000000000000000000000000000000..5e7f8fe3894faf6b9395cedd83d9338627ca8672 GIT binary patch literal 4274 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 literal 0 HcmV?d00001 diff --git a/docs/media/imaginary_anticommutative.png b/docs/media/imaginary_anticommutative.png new file mode 100644 index 0000000000000000000000000000000000000000..dcd5e02eb99e5656cf5948e8860b7b78d08ad3b6 GIT binary patch literal 1718 zcmbW1dsNbi632fKrDC>{xuKyFmfI?NwN}$zSu~(T)D$X3N$sKKgAfum+(hjK;bYBQ zrPM672PVE&4cnqrQWme+Raec}+fm!{fvhfq`N+$5_rLw)o^#KfnK|>Be`d~{@9=|z z4wyl$p#T7w5&iIFL+&$pr11trB-`G24FI5vaX4Hs5r;!2u^6#&i7^1MtKfVA#;?N% zA&ctwCpg)>y3NB~o;vA!s53+q1~IL!?Gs&)S4Z_#Z6`9BTWF@6GSEkCXr*j+k|pH% zXXdAjz94MvatGha5B_koi}O@(QhV5yO0*!|1U3%#T6=*%v18a%-WE1_Cs$y zq)Znt^zS|O1%XP7D|{LGGXV5^()Gged98eX9ogK4FS^1JBpAcmhoB+As{~m!|v|E||1sxRFQV3>N zXk;ze{h&3MzW8CCzJcBv1ZegoRkK%{9bA`*oXQ$Pe&!pGB&KR`0`rDt#PgoKw%zMm z@!eoFSaV7ncn+Cty76Ii`t;1W7Sv4+RqTECe7ozBJ2UL!RJ~rO(+GpOSkgDF;(|rE zm*FfMj*|}Hfwe!a;>o>212IYRqn-r-7yCaQlva&RF+ihaVj#ijy(!$>(SiN3SYSX_ z$%L?E9D`1eIgi zPsij|7bV!EK)I;R5a+LIkvkZ^4WSnp&wk2`j`Y=<8HabGLI&`};Fs-HjXigsW8 z9ZZp-$?5Pu$Ugo6R|x zli*miRH@Wzf0SGpvl2ztrK869ykfr{`<7cq=}IO-B^^oR@N7f7nBZl#T0NODlK9K; zoNJ27yShgN4Cq8dNlsqg)ou-Iy1To(%W*fOyw~o@(?4vlb7>ZQe6)0Kj;SgyDTy{2 zN(it0;fzwLJfI6D!6=H_D4F!+&C=41GkUGIYSbZr@*ric{>l|2mF>1|f|;nALHxwo zZTDB}?UT6Ny3u3lF?;v!y;c5FnDw!;zn`)S+E1@I;#ed;b5-+@;xo&D84Vqp)v(SBw*pSwRQEXR#q?zd#4 zWlRKLb{z9T?@%b`HeNimhZJ_~1-5coVAA7*`LXnz@>&4Kxw2do5>VIP9PWI6*dvkp zTD?0TI8V`h0FDk7#WsyBBn~Q9E(z;}gtBLmk&zx50XejG_T!+fFv+7wi;dvy$-|z9 zOZXhu2NuH=3gv}ScemC1w{HpfiG0l-2`xyc*RM^br>B!Zw@D&bi-l;i;-{=E&?-Y1 zaCz$#C-;@sX$!PbA{lW*#!Fr*)?efjEMwa+qq?OfNAdK}OG|A7@$Oc(wjPY&0PkDZ zgYGSOq1l!KS>Ad2s1Dy55fL$75m9{VP4YTbIu{dj3AEiu z%78X!wKX(6FEih#o*r&-uBoZnXbjpck8R=*+vlB2rrR2un(R?1!`RoC{yo*oN_?!+ zrKF}V)cmSWxoOSLjBR?*3fc9Ce#A+|cwpBFx3<1Uey~G!JVZ3;cyM6TKz{ap3!}Fz z>ih@qb^RdhL*w6V{wrr=bA!77CTDXb@R!{GcRv%50^aNMC-s*Fdc*qyh=d@#cwcn( Fe*h3>{wM$d literal 0 HcmV?d00001 diff --git a/docs/media/imaginary_anticommutative2.png b/docs/media/imaginary_anticommutative2.png new file mode 100644 index 0000000000000000000000000000000000000000..13d8addfc8b908ed8ccb498cd75a8942f908581a GIT binary patch literal 4390 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 literal 0 HcmV?d00001 diff --git a/docs/media/quaternion_definition.png b/docs/media/quaternion_definition.png new file mode 100644 index 0000000000000000000000000000000000000000..7ae0127f28be2e5f9d78db2bba9dc0da8718abf3 GIT binary patch literal 7943 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 literal 0 HcmV?d00001 diff --git a/docs/media/quaternion_result.png b/docs/media/quaternion_result.png new file mode 100644 index 0000000000000000000000000000000000000000..d14d8209052eba766b458e0e83767fc4406f0166 GIT binary patch literal 8804 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 E0XN~joB#j- literal 0 HcmV?d00001 diff --git a/docs/media/quaternion_vector4_form.png b/docs/media/quaternion_vector4_form.png new file mode 100644 index 0000000000000000000000000000000000000000..c2df276c3e814ccb4aa1af90d4cb6712ac942d50 GIT binary patch literal 2923 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 literal 0 HcmV?d00001 diff --git a/docs/media/versor_definition.png b/docs/media/versor_definition.png new file mode 100644 index 0000000000000000000000000000000000000000..61aa61a1e2c2f4e8e477fafb4b5a90b7c75492ca GIT binary patch literal 10353 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