75. 三角形の重心の存在
require ’algebra’
R = MPolynomial(Rational)
x,y,a1,a2,b1,b2,c1,c2 = R.vars(’xya1a2b1b2c1c2’)
V = Vector(R, 2)
X, A, B, C = V[x,y], V[a1,a2], V[b1,b2], V[c1,c2]
D, E, F = (B + C) /2, (C + A) /2, (A + B) /2
def online(p1, p2, p3)
SquareMatrix.det([[1, *p1], [1, *p2], [1, *p3]])
end
l1, l2, l3 = online(X, A, D), online(X, B, E),
online(X, C, F)
s = online(A, B, C)
g = Groebner.basis [l1, l2, l3, s-1]
g.each with index do |f, i|
pf
end