Skip to content

Instantly share code, notes, and snippets.

@kumadasu
Created May 13, 2018 10:31
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kumadasu/c76f6f782d8f7ecf4e22d61e7efa33e5 to your computer and use it in GitHub Desktop.
Save kumadasu/c76f6f782d8f7ecf4e22d61e7efa33e5 to your computer and use it in GitHub Desktop.
幾何学と代数系7.5節〜7章終わりまでをGAViewerで触った際のメモ
batch initialize() {
	clf(),
	default_model(p3ga),

	a = red(e1), b = green(e2), c = blue(e3),

	m1 = 0.4,	m2 = 0.2,	m3 = -0.8,
	n1 = -0.3,	n2 = 0.2,	n3 = - 0.1,
	m = m1 e1 + m2 e2 + m3 e3,
	n = n1 e1 + n2 e2 + n3 e3,
	I= e1^e2^e3;

}

function dual3(n) {
	I = e1^e2^e3;
	return( - lcont(n, I) );
}

7.6 Dual theorem

7.6.1 dual point, dual line, dual plane

Line and Dual line

initialize(),
L     = e0^m - dual3(n),
Ldual = -e0^n + dual3(m),

Plane and Dual point

initialize(),
h = 0.3,
PI     = - e0 ^ dual3(n) + h I,
PIdual = h e0 - n,

Point and Dual Plane

initialize(),
q = e0 + m,
qdual = e0^dual3(m) + I,

7.6.2 join and meet

join of two points

initialize(),
p = e0 + m,
q = e0 + n,
p^q,
# join(p, q)
# p|q

join of line and point

initialize(),
L     = e0^m - dual3(n),
p = e0 + m,
p^L
# join(p, L)
# p|L

7.6.3 Dual theorem 1

initialize(),
L     = e0^m - dual3(n),
PI     = - e0 ^ dual3(m) + h I,
dual( dual(L) ^ dual(PI) )
meet( L, PI )

7.6.4 Dual theorem 2

initialize(),
h2 = 0.4,
PI1 = - e0 ^ dual3(m) + h I,
PI2 = - e0 ^ dual3(n) + h2 I,

dual(PI1)^dual(PI2),
dual(dual(PI1)^dual(PI2)),

meet(PI1, PI2),

7.6.5 Dual theorem 3

initialize(),
l1 = 0.1,	l2 = -0.6,	l3 = 0.1,
l = l1 e1 + l2 e2 + l3 e3;

p1 = e0 + m,
p2 = e0 + n,
p3 = e0 + l,

join(p1, join(p2, p3)),
dual(join(p1, join(p2, p3))),

p1dual = dual(p1),
p2dual = dual(p2),
p3dual = dual(p3),

meet(meet(p1dual, p2dual), p3dual)

# p = (op(m,n) + op(n,l) + op(l,m)) / (...)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment