Сложение в проективном представлении

При вычислении композиции можно избавиться от вычисления инверсии, если в качестве координат использовать рациональные числа, производя вычисления отдельно с числителем и знаменателем. Наиболее выгодным оказалось взвешенное проективное представление координат:

Формулы вычисления x3 и y3:

Алгоритм:

ВХОД: P1 = (X1,Y1,Z1), P2 = (X2,Y2,Z2), P1, P2 ≠ O, P1 ≠ ±P2

ВЫХОД: P3 = (X3,Y3,Z3) = P1 + P2

λ1 = X1Z22

λ2 = X2Z12

λ3 = λ2 – λ1

λ4 = Y1Z23

λ5 = Y2Z13

λ6 = λ5 – λ4

λ7 = λ1 + λ2

λ8 = λ4 + λ5

Z3 = Z1 Z2 λ3

X3 = λ62 – λ7λ32

λ9 = λ7λ32 – 2X3

Y3 = (λ9λ6 – λ8λ33) / 2

Пример.

P1 = (5,1,1), P2 = (4,6,1)

λ1 = 5 · 1 = 5,

λ2 = 4 · 1 = 4,

λ3 = 4 – 5 = 6,

λ4 = 1 · 1 = 1,

λ5 = 6 · 1 = 6,

λ6 = 6 – 1 = 5,

λ7 = 5 + 4 = 2,

λ8 = 1 + 6 = 0,

Z3 = 1 · 1 · 6 = 6,

X3 = 52 – 2 · 62 = 2,

λ9 = 2 · 62 – 2 · 2 = 2 – 4 = 5,

Y3 = (5 · 5 – 0 · 63) / 2 = 25 / 2 = (25+7) / 2 = 16 = 2.

P3 = (2,2,6) = (2/62, 2/63) = (2·6-2, 2·6-3) = (2·1, 2·6) = (2, 5).

Удвоение в проективном представлении

Формулы вычисления x3 и y3:

Алгоритм:

ВХОД: P1 = (X1,Y1,Z1), P1≠ O

ВЫХОД: P3 = (X3,Y3,Z3) = [2] P1

λ1 = 3X12 + aZ14

λ2 = 4X1Y12

Z3 = 2Y1Z1

X3 = λ12 - 2λ2

λ3 = 8Y14

Y3 = λ12 – X3) – λ3


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: