Схема кода:
// Обозначение позиций (формы) в пространстве.
int Vector1 = 1, Vector2 = 1, Vector3 = 1, Vector4 = 1, Vector5 = 1, Vector6 = 1, Vector7 = 1, Vector8 = 1,
Vector9 = 1, Vector10 = 1, Vector11 = 1, Vector12 = 1, Vector13 = 1, Vector14 = 1, Vector15 = 1, Vector16 = 1, Vector17 = 1, Vector18 = 1;
Vector1 = Vector3 + Vector2;
Vector1 = Vector4 + Vector5;
Vector1 = Vector10 + Vector12;
Vector1 = Vector16 + Vector17;
Vector2 = Vector3 + Vector1;
Vector2 = Vector6 + Vector5;
Vector2 = Vector15 + Vector13;
Vector2 = Vector18 + Vector17;
Vector3 = Vector1 + Vector2;
Vector3 = Vector4 + Vector6;
Vector3 = Vector7 + Vector9;
Vector3 = Vector16 + Vector18;
Vector4 = Vector1 + Vector5;
Vector4 = Vector3 + Vector6;
Vector4 = Vector10 + Vector11;
Vector4 = Vector7 + Vector8;
Vector5 = Vector1 + Vector4;
Vector5 = Vector2 + Vector6;
Vector5 = Vector12 + Vector11;
Vector5 = Vector13 + Vector14;
Vector6 = Vector5 + Vector2;
Vector6 = Vector3 + Vector4;
Vector6 = Vector15 + Vector14;
Vector6 = Vector9 + Vector8;
Vector7 = Vector4 + Vector8;
Vector7 = Vector3 + Vector9;
Vector8 = Vector6 + Vector9;
Vector8 = Vector4 + Vector7;
Vector9 = Vector6 + Vector8;
Vector9 = Vector3 + Vector7;
Vector10 = Vector4 + Vector11;
Vector10 = Vector1 + Vector12;
Vector11 = Vector5 + Vector12;
Vector11 = Vector4 + Vector10;
Vector12 = Vector5 + Vector11;
Vector12 = Vector1 + Vector10;
Vector13 = Vector5 + Vector14;
Vector13 = Vector2 + Vector15;
Vector14 = Vector6 + Vector15;
Vector14 = Vector5 + Vector13;
Vector15 = Vector6 + Vector14;
Vector15 = Vector2 + Vector13;
Vector16 = Vector1 + Vector17;
Vector16 = Vector3 + Vector18;
Vector17 = Vector1 + Vector16,
Vector17 = Vector2 + Vector18;
Vector18 = Vector2 + Vector17;
Vector18 = Vector3 + Vector16;
– Решение задачи заключается в следующем: а) построение тетраэдральной сетки, б) определение условных зон сужения и расширения, в) строение алгоритма оптимизации, сохраняющего местные перепады сужения и расширения за счёт тетраэдральной сетки.
Построение тетраэдральной сетки необходимо выполнить с помощью двух циклов. А третий цикл уже необходим для выполнения условий конкретной задачи.
а) Внутренний цикл (образование векторов):
int x = 10, y = 10 // ввод строго чередующихся переменных сужения и расширения.
Vector1...Vector18 = (x + y) * n, n = 45
// усиление давления за счёт изменения масштаба, путём изменения количества чередующихся переменных сужения и расширения.
cin >> x, y;
if (x > 10 || y < 10)
{
while (Vector1...Vector18 = 1, Vector1...Vector18++, x = y)
Vector1...Vector18 /= 2 // непрерывный цикл квадратный корень
}
{
while (Vector1...Vector18 = 1, Vector1...Vector18--, x = y);
Vector1...Vector18 *= 2 // непрерывный цикл возведения в квадрат
}
if (n * k)
2*x / k, 2*y / k;
При увеличении n, уменьшается размерность x,y. Т.к. для них соблюдается зависимость
(x + y) * n = 1
При делении и умножении, каждый вектор образует новый массив, содержащий новые вектора, равномерно заполняя всё пространство тетраэдральной сетки.
while (Vector1 / 2 = arrey{ 1,2 }, ..., Vector1 / n = arrey{ 1,2,3, …, n });
while (2 * Vector1 = arrey{ 1,2 }, ..., n * Vector1 = arrey{ 1,2,3, …, n });