Выбрать главу

Схема кода:

// Обозначение позиций (формы) в пространстве.

 

       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 });