¿Cómo puedo representar correctamente el siguiente pseudocódigo en notación matemática?
EDIT1: Fórmula ampliada. EDIT2: Aclaración.
(a,b) representa un segmento de línea en una línea 1D. a <= b para cada segmento. La división que se muestra a continuación se realiza según el siguiente código T-SQL (que supongo que podría representarse como una función en la fórmula):
Entrada: @a1 real, @b1 real, @an real, @bn real
DECLARE @Result real
if @a1 <= @an begin
SET @Result = @an - @b1
if @Result <= 0 RETURN 0
RETURN @Result / @an
end
SET @Result = @a1 - @bn
if @Result <= 0 RETURN 0
RETURN @Result / @a1
Fórmula:
if m = 1 then
if (a,b)_1 intersects (a,b)_n then
r = 1
else if (a,b)_1 < (a,b)_n then
r = (a,b)_1 / (a,b)_n
else
r = (a,b)_n / (a,b)_1
else if m = 2 then
if (a,b)_1 intersects (a,b)_n then
r = 1
else if (a,b)_1 < (a,b)_n then
r = (a,b)_1 / (a,b)_n
else
r = (a,b)_n / (a,b)_1
El bloque m = 2 se muestra igual que el m = 1 para simplificar.
Las divisiones son contra los dos puntos que están cerca uno del otro, a menos que los segmentos se crucen, en cuyo caso r = 1.