B(0;h;0)

C(0;0;h)

D(a;0;h-a)

E(a;h-a;0)

F(h-b;b;0)

A(h;0;0)

G(0;b;h-b)

H(0;h-c;c)

I(h-c;0;c)

x=a

y=b

z=c

z=0

x=0

y=0

Vedeliku ümbervalamise ülesanded

Olgu meil kolm anumat ruumaladega vastavalt a, b ja c liitrit.

Esimeses anumas on x liitrit, teises y liitrit ja kolmandas 
z liitrit vett. Kokku on  x + y + z = h  liitrit vett.

Kehtigu võrratused:  h ≥ c > b > a.

Siis on vedeliku kogused anumates piiratud võrratustega
0 ≤ x ≤ a,  0 ≤ y ≤ b  ja  0 ≤ z ≤ c.

P(x; y; z)

y

x

y

z

Et vee valamisel ühest nõust teise püsib üks suurustest 
x,y ja z muutumatuna, kaks ülejäänut aga muutuvad, siis 
punkt P(x;y;z) hakkab vee ümberkallamisel liikuma mööda 
kuusnurga DEFGHI külgi või nendega paralleelseid sirgeid.

Et iga kallamise tulemusena saab kas üks nõu täis või 
teine nõu tühjaks, siis lõpeb iga kallamine piirkonna rajajoonel.

B = (-2.598076211353316, 1.5)
C = (5.196152422706632, -3)
D = (5.196152422706632, 2)
E = (1.7320508075688772, 4)
F = (0, 3)
A = (5.196152422706633, 6)
hulknurk1, c, a, b = Polygon(A, B, C)
G = Point(a)
H = Point(a)
I = Point(b)
d = Segment(D, E)
e = Segment(F, G)
f = Segment(H, I)
hulknurk2, d_1, e_1, f_1, g, h, i = Polygon(D, E, F, G, H, I)
j = Segment(E, F)
k = Segment(G, H)
l = Segment(I, D)
q = 0 (slider from 0 to 14, step 1)
J = Point(c)
K = Point(a)
L = (1.7320508075688772, -1)
M = Point(b)
N = (0, 2)
O = Point(d)
P = Point(a)
Q = Point(b)
R = Point(d)
S = Point(f)
T = Point(e)
U = (3.4641016151377544, 3)
m = PolyLine(E, L, M, J, K, D, I, N, O, P, Q, F, G, R, S, T, U, H)
W = PointIn(hulknurk2)
n = OrthogonalLine(W, a)
p = OrthogonalLine(W, c)
Z = Intersect(p, c)
A_1 = Intersect(n, a)
r = OrthogonalLine(W, b)
B_1 = Intersect(r, b)
s = Segment(W, A_1)
t = Segment(W, B_1)
a_1 = Segment(W, Z)
V = Point(e)
u = Vector(W, V)
C_1 = Point(a)
v = Vector(W, C_1)
D_1 = (5.196152422706632, 0)
w = Vector(W, D_1)
E_1 = Point(d)
u_1 = Vector(W, E_1)
v_1 = Vector(W, E)
w_1 = Vector(W, F)