Что всё-таки не так с наймом в IT?

Недавно бомбанула статья о наболевшем и вынужденный ответ на неё.

По сути собралось два лагеря или даже больше, но кто-то вообще подумал посмотреть в законодательство?

Далее рассмотрим:

  1. Почему существует трудовое законодательство и права трудящихся.
  2. Какие юридические последствия несёт за собой тестовое задание.
  3. Как получать зарплату на незаконных отказах.

Предупреждение: ни разу не юрист — используйте квалифицированную консультацию!.

1. Почему существует трудовое законодательство и права трудящихся?

Если формально, то идём в Wikipedia/Трудовое_право. Казалось бы много чего написано, но толком ничего и не сказано.

Не сказано сути того, что подчиняясь закону конкретного цивилизованного государства и участвуя в его финансовой системе, человек отдаёт часть своей независимости в обмен на гарантии трудоустройства, защиты и социального обеспечения. Это возлагает определённые обязанности на работодателя, которые он обязан принимать и выполнять.

Это подразумевает под собой отсутствие «разборчивости» для обеспечения права на равный доступ к труду и предотвращения иной дискриминации. По сути работодатель обязан взять на работу любое лицо, которое соответствует требованиям в объявлении. Из этого вытекает, что обязаны брать в порядке очереди получения резюме. Если же работник не был приглашён на собеседование, а объявление не удалено или же повторно вывешено, то это прямая доказуемая дискриминация. Даже многим работникам это может показаться немного абсурдным, но именно за это проливали кровь. К слову, сейчас это дошло до печальных требований в Code of Conduct некоторых проектов…

Многие же работодатели до сих пор живут с менталитетом рабовладельческого строя, считая людей ресурсом, который может работать как устройство со строго заданными техническими параметрами, их гоняют на износ без обслуживания и заменяют при поломке. В кругу таких предпринимателей-рабовладельцев совершенно неуместно заикаться о правах человек и трудящихся. Они окружают себя HRюшами именно с таким же менталитетом, которые ещё больше перегибают палку в лучших традициях конформистов. Целая индустрия рекрутинга живёт на тайной комиссии с работника, делая людей товаром. Часто эта тайная кухня может быть причиной отказа в найме.

Хотел бы сказать что это специфика пост-советского пространства, но это далеко не так. Такие предприниматели есть везде, но разумеется здесь их количество неприлично велико.

2. Какие юридические последствия несёт за собой тестовое задание?

В Трудовом Кодексе большинства социально-развитых стран предусмотрен следующий порядок найма:

  1. Потенциальный работник проходит собеседование.
  2. Человеку нанимают на испытательный срок (не более трёх месяцев).
  3. Если работника не увольняют во время испытательного срока, то он имеет все социальные гарантии.

К примеру, в трудовом законодательстве Латвийской Республики всё чётко с процедурой принятия на работу, а в Трудовом Кодексе Российской Федерации немного более запутано и разбросано по главам.

Во-первых, в трудовом законодательстве вроде бы отсутствует понятие «проверочного задания», «проверки знания» или чего-то схожего между кандидатом и работодателем — такое есть только для отдельных категорий типа горняков и в полномочиях отдельных органов власти в рамках охраны труда. Квалификацию работника подтверждают документы об
образовании (Глава.31 ТК РФ)!

Во-вторых, в российском ТК тупо отсутствует понятие собеседования — оно прямо не регулируется, что крайне печально. Вместо этого требуется опираться на косвенные нормы из Конституции, международных обязательств РФ и прочие нормы ТК РФ. А слона-то забыли! Получается работника обязаны нанимать чуть-ли не автоматом. Парадокс!

В-третьих, исходя из ст.16. ТК РФ:

Трудовые отношения между работником и работодателем возникают также на основании фактического допущения работника к работе с ведома или по поручению работодателя или его уполномоченного на это представителя в случае, когда трудовой договор не был надлежащим образом оформлен.

Это прямо означает, что назначенное тестовой задание устанавливает между кандидатом и потенциальным работодателем ТРУДОВЫЕ отношения!

В-четвертых, Испытания, в т.ч. тестовое задание — это часть трудового договора и трудовых отношений ст.70 ТК РФ. То же самое исходит из описания трудового договора ст.57 ТК РФ.

В-пятых, исходя из той же ст.70:

Отсутствие в трудовом договоре условия об испытании означает, что работник принят на работу без испытания.

Как вы сами понимаете, трудовые отношения подлежат оплате. Без трудового договора на работодателе уже административная или даже уголовная ответственность в случае дачи тестового задания иностранцу.

Кандидат имеет право признать себя работником без испытательного срока и требовать оплату с момента получения тестового задания. Работника без испытательного срока не могут уволить просто так.

3. Как получать заплату на незаконных отказах

Всё элементарно просто:

  1. Ищите юриста в деле.
  2. Подаёте своё резюме.
  3. Получаете тестовое задание.
  4. Для приличия выполняете качественно, но это уже необязательно.
  5. Ждёте срока оплаты.
  6. Обращаетесь в суд с требованиям признания трудовых отношений и начисления зарплаты с момента тестового задания.
  7. Профит!

Если ЗП не указана в объявлении, то её можно попытаться уточнить в переписке или средний уровень ЗП на предприятии для такой позиции может запросить адвокат.

Выводы

Да, есть обычаи, но при наличии регулирования они отменяются. Тестовое задание — это обычай, который несёт за собой описанную выше ответственность.

Ребят, ведь закон — это тоже инструкция. Возможно, самая главная инструкция в вашей жизни. Читайте.

Если у кого-то будут success stories, дайте знать! Ну, или опровергните мои тезисы на худой конец.


ссылка на оригинал статьи https://habr.com/post/424851/

Чем интересен новый UCS C480 ML M5 — сервер для машинного обучения от Cisco

В марте этого года компания Cisco представила блейд-сервер Cisco UCS B480 M5. На базе этой системы мы развернули новый пул ресурсов в Санкт-Петербурге и готовим к запуску аналогичный пул в Москве. Но буквально полгода спустя (в сентябре) ИТ-гигант выпустил еще одну новинку — UCS C480 ML M5, «заточенный» для работы с системами искусственного интеллекта. Рассказываем, что внутри, и зачем это все дата-центрам.


/ Wikimedia / Tibigc / CC

Что внутри

Новая разработка компании — модифицированная версия сервера C480 M5. Для ускорения обработки алгоритмов машинного обучения два слота для CPU в том сервере заменили на разъемы для GPU. В эти слоты поместили графические ускорители Tesla V100-32G от NVIDIA.

Общее количество карт достигает восьми штук. Производительность каждого из ускорителей в 47 раз превосходит показатели традиционных процессоров на задачах глубокого обучения. Обмен данными идет через встроенный интерфейс NVLink — это 200 ГБ/с на один GPU.

Также в C480 ML M5 установлены два процессора Intel Xeon, каждый из которых поддерживает до 28 ядер, и 3 ТБ оперативной памяти. При этом к серверу можно подключить до 24 HDD или SSD через интерфейсы SAS или SATA.

Зачем нужен новый сервер

По словам представителей Cisco, сервер должен упростить работу с моделями машинного обучения на всех этапах их разработки: от сбора и анализа данных до вывода результатов обработки. При этом он подходит для работы с конвейеризованными приложениями в многооблачных средах. Речь идет о фреймворках Hadoop и Spark, а также TensorFlow и PyTorch. Дополнительно Cisco ведет переговоры о сотрудничестве с платформой Anaconda, а также совместно с Google работает над Kubeflow.

«Новый ML M5 упростит работу с системами искусственного интеллекта для облачных провайдеров и компаний, владеющих дата-центрами, — комментирует Сергей Белкин, начальник отдела развития 1cloud. — Технологии машинного обучения можно использовать для оценки всех процессов, происходящих в ЦОД. Такие приложения уже есть в экосистеме Cisco. Например, Tetration Analytics собирает данные телеметрии от программных и аппаратных датчиков и обрабатывает их с помощью методов МО».

Cisco предполагают, что к 2019 году 70% хакерских атак будут использовать шифрование трафика, поэтому, по их мнению, дополнительные мощности нового сервера также сыграют важную роль в защите ИТ-инфраструктуры дата-центров. Для этих целей у ИТ-гиганта тоже есть свое решение: Encrypted Traffic Analytics. Система выявляет уязвимые места в инфраструктуре и обнаруживает вредоносные паттерны даже в зашифрованном трафике.


/ Wikimedia / Global Access Point / PD

Отметим, что релиз C480 ML M5 повлияет и на работу организаций, которые обрабатывают большие объемы данных, — например медицинских и финансовых. Аналитикам и разработчикам в этих организациях будет проще извлекать полезную информацию из Big Data. Новый сервер Cisco ускорит процесс обработки крупных сводов информации и поиска паттернов (например, при анализе медицинских снимков).

По словам представителей Cisco, 80% мировых бизнесов уже внедрили сервисы на базе технологий искусственного интеллекта или внедрят такие решения к 2020 году. А к 2035 году технологии МО помогут увеличить производительность организаций на 40%.

Перспективы и планы на будущее


Директор по исследованиям в Gartner Чираг Декате (Chirag Dekate) считает, что C480 ML M5 будет пользоваться спросом у старых и новых клиентов компании. При этом директор по работе с партнерами Скотт Мор (Scott Mohr) говорит, что Cisco продолжит совершенствовать решения для сервисов на основе нейронных сетей, и важную роль в этом процессе сыграет опыт клиентов. Поэтому сейчас новинка тестируется полусотней партнеров Cisco.

Позже систему сделают доступной для всех сертифицированных партнеров компании. Несмотря на ведущиеся тесты, пока сказать что-либо об эффективности нового сервера не представляется возможным. Специалисты Cisco (в отличие от той же NetApp) решили не предоставлять результаты тестов производительности Resnet или Alexnet, поскольку, по их словам, они не отражают положение вещей при работе на реальных проектах с машинным обучением.

Заказать C480 ML M5 можно будет уже в конце этого года.

Несколько материалов по теме из корпоративного блога 1cloud


ссылка на оригинал статьи https://habr.com/post/424849/

MNaaS и eSIM — плюсы и минусы виртуализации для сотовых операторов и их клиентов

Технологии виртуализации приходят в сети мобильных операторов. Начали появляться сервисы типа Mobile Network as a Service (MNaaS) и приобретать популярность электронные SIM. Поговорим о потенциальной пользе этих технологий для операторов и клиентов и сложностях их реализации.


/ PxHere / PD

Мобильная сеть как услуга

Технология «мобильная сеть как услуга» (MNaaS — Mobile Network as a Service) позволяет объединить сервисы сотовых операторов на одной платформе, использующей возможности виртуализации. Например, один из таких сервисов разработали в Affirmed Networks.

Он представляет собой виртуальную реализацию ядра сети LTE virtual Evolved Packet Core (vEPC). Все компоненты ядра развернуты на виртуальных машинах. Это дает возможность исключить строгую зависимость между конечными устройствами мобильной пакетной сети операторов.

В результате последние могут быстро изменять масштабы сети в соответствии с запросами пользователей, а также запускать мобильные сервисы в разных частях мира (поскольку не нужно выстраивать инфраструктуру «на месте»).

Например, в Замбии модель MNaaS предлагают использовать для организации сети в сельских районах. Для таких кейсов оператору невыгодно создавать инфраструктуру с нуля для небольшого числа потенциальных клиентов. Но если провайдеры объединят усилия и построят сеть для совместного использования, они поделят расходы и приобретут новых абонентов.

Виртуализация функций мобильных сетей

В целом набирает популярность общий тренд на виртуализацию функций мобильных сетей. В частности, технология network function virtualization (NFV) — в этом случае часть приложений оператор разворачивает в облаке. Согласно опросу Heavy Reading, проведенному в 2017 году среди провайдеров телекоммуникационных услуг, главная причина роста популярности систем на основе технологий NFV — снижение операционных расходов.

Они оптимизируют потребление электроэнергии: оператору не нужно ставить свое оборудование, а облачный провайдер экономит средства клиентов за счет «эффекта масштаба» (фактически, закупая электроэнергию оптом).

Еще одно достоинство виртуального решения — возможность быстрого масштабирования сетей. По мнению CTO компании Juniper Бикаша Колея (Bikash Koley), по этой причине NFV-технологии станут важным компонентом при реализации 5G-сетей телеком-провайдерами.

Например, среди крупных мобильных операторов NFV-технологии активно внедряет AT&T. К 2020 году компания планирует виртуализировать 75% функций сети. Представители AT&T ожидают, что к концу этого года 65% компонентов их пакетного ядра будут виртуальными. Также инфраструктуру на основе NFV создает и крупнейший китайский оператор China Mobile.

Электронные SIM-карты

Один из трендов виртуализации мобильных сетей — развитие электронных SIM-карт, или eSIM. В этом случае функцию физической SIM-карты выполняет встроенный аппаратный модуль.

У eSIM есть несколько преимуществ перед привычными картами. Первое — более простая смена оператора и устройства. Для подключения необязательно ехать в офис компании: заказать новую электронную SIM-карту можно онлайн. А при переходе с одного устройства на другое у пользователя не возникнет проблемы с разными форм-факторами «симок».

Второе преимущество — безопасность. Загрузить новый профиль на устройство и удалить старый может только владелец виртуальной SIM. И если гаджет украдут, то он сразу потеряет ценность для преступника. Извлечь eSIM из телефона нельзя, потому использовать устройство в своих целях тоже не получится. Кстати, о поддержке виртуальных SIM-карт в новых iPhone XS и XS Max объявили 12 сентября 2018 года. Также eSIM поддерживают смартфоны от Google — Pixel 2 и Pixel 2 XL.

Однако отметим, что технология все же имеет свои недостатки.


/ Flickr / Pascal Kurschildgen / CC

Эксперты по ИБ говорят, что eSIM упрощает проведение мошеннических схем с копированием личности. Такие случаи уже были с обычными SIM-картами. Получая копию SIM-карты по поддельным документам, злоумышленники получали доступ к счетам жертвы через мобильный банк. В случае с eSIM поддельные документы становятся не нужны. Потому придется уделять дополнительное внимание вопросам утилизации старых устройств, чтобы с их микросхем нельзя было получить информацию о профиле eSIM.

Еще одна проблема связана с вопросами регулирования. Хотя электронная SIM и позволяет менять оператора практически «на лету», здесь все не так просто. Сейчас ассоциация GSM (GSMA) ведет работы по созданию стандарта для eSIM. И ряд американских провайдеров пытаются «протолкнуть» инициативу с возможностью закрепления устройства за сетью оператора. Несколько компаний из ассоциации (одной из них, предположительно, была Apple) подали протест, но чем закончится эта история пока неясно.

Дополнительные ограничения на смену оператора накладывает законодательство стран. В некоторых из них разрешена «дистанционная» (без похода в офис) смена оператора: закон о eSIM с таким условием приняло индийское правительство. Другие государства только разрабатывают новые правила регулирования. Правительство Сингапура даже провело публичную консультацию, во время которой собирало предложения от граждан и компаний о том, как будет выглядеть закон о eSIM в стране.

Что касается России, то у нас технология eSIM ограничена законом «О связи». Согласно ему, SIM-карта — уникальный идентификатор абонента, и её дублирование запрещено. Более того, для смены провайдера абонент должен прийти в отделение, чтобы сверить паспортные данные и оформить письменное соглашение.

Тем не менее технологию виртуальной SIM-карты изучают «Вымпелком» и Tele2, а «Мегафон» тестировал функцию eSIM в конце 2017 года.

Технология eSIM привлекает не только пользователей, но и производителей устройств. Ей пророчат светлое будущее, её продвигают Google, Samsung и Apple. Для компаний eSIM — это возможность уменьшить размеры гаджетов (так как не нужен отдельный слот для SIM-карты). Но, объективно, использовать весь потенциал этой технологии можно будет только тогда, когда компании и правительства решат проблемы регулирования этой сферы.


О чем еще мы пишем в нашем корпоративном блоге:


ссылка на оригинал статьи https://habr.com/post/424847/

Машинка на Arduino, управляемая Android-устройством по Bluetooth, — код приложения и мк (часть 2)

О первый части

В первой части я описал физическую часть конструкции и лишь небольшой кусок кода. Теперь рассмотрим программную составляющую — приложение для Android и скетч Arduino.

Вначале приведу подробное описание каждого момента, а в конце оставлю ссылки на проекты целиком + видео результата, которое должно вас разочаровать ободрить.

Android-приложение

Программа для андроида разбита на две части: первая — подключение устройства по Bluetooth, вторая — джойстик управления.
Предупреждаю — дизайн приложения совсем не прорабатывался и делался на тяп-ляп, лишь бы работало. Адаптивности и UX не ждите, но вылезать за пределы экрана не должно.

Верстка

Стартовая активность держится на верстке, элементы: кнопки и layout для списка устройств. Кнопка запускает процесс нахождения устройств с активным Bluetooth. В ListView отображаются найденные устройства.

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"     xmlns:tools="http://schemas.android.com/tools"     android:layout_width="match_parent"     android:layout_height="match_parent"     >       <Button         android:layout_width="wrap_content"         android:layout_height="60dp"         android:layout_alignParentStart="true"         android:layout_alignParentTop="true"         android:layout_marginStart="40dp"         android:layout_marginTop="50dp"         android:text="@string/start_search"         android:id="@+id/button_start_find"          />     <Button         android:layout_width="wrap_content"         android:layout_height="60dp"         android:layout_marginEnd="16dp"         android:layout_marginBottom="16dp"         android:id="@+id/button_start_control"         android:text="@string/start_control"         android:layout_alignParentBottom="true"         android:layout_alignParentEnd="true"/>      <ListView         android:id="@+id/list_device"         android:layout_width="300dp"         android:layout_height="200dp"         android:layout_marginEnd="10dp"         android:layout_marginTop="10dp"         android:layout_alignParentEnd="true"         android:layout_alignParentTop="true"         />  </RelativeLayout> 

Экран управления опирается на верстку, в которой есть только кнопка, которая в будущем станет джойстиком. К кнопки, через атрибут background, прикреплен стиль, делающий ее круглой.
TextView в финальной версии не используется, но изначально он был добавлен для отладки: выводились цифры, отправляемые по блютузу. На начальном этапе советую использовать. Но потом цифры начнут высчитываться в отдельном потоке, из которого сложно получить доступ к TextView.

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout     xmlns:android="http://schemas.android.com/apk/res/android"      android:layout_width="match_parent"     android:layout_height="match_parent">      <Button         android:layout_width="200dp"         android:layout_height="200dp"         android:layout_alignParentStart="true"         android:layout_alignParentBottom="true"         android:layout_marginBottom="25dp"         android:layout_marginStart="15dp"         android:id="@+id/button_drive_control"         android:background="@drawable/button_control_circle" />      <TextView         android:layout_height="wrap_content"         android:layout_width="wrap_content"         android:layout_alignParentEnd="true"         android:layout_alignParentTop="true"         android:minWidth="70dp"         android:id="@+id/view_result_touch"         android:layout_marginEnd="90dp"         /> </RelativeLayout> 

Файл button_control_circle.xml (стиль), его нужно поместить в папку drawable:

<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"     android:shape="rectangle">     <solid android:color="#00F" />     <corners android:bottomRightRadius="100dp"         android:bottomLeftRadius="100dp"         android:topRightRadius="100dp"         android:topLeftRadius="100dp"/> </shape> 

Также нужно создать файл item_device.xml, он нужен для каждого элемента списка:

<?xml version="1.0" encoding="utf-8"?> <LinearLayout     xmlns:android="http://schemas.android.com/apk/res/android"     android:layout_width="match_parent"     android:layout_height="match_parent">     <TextView         android:layout_width="150dp"         android:layout_height="40dp"         android:id="@+id/item_device_textView"/> </LinearLayout> 

Манифест

На всякий случай приведу полный код манифеста. Нужно получить полный доступ к блютузу через uses-permission и не забыть обозначить вторую активность через тег activity.

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android"     package="com.example.bluetoothapp">      <uses-permission android:name="android.permission.BLUETOOTH" />     <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />     <application         android:allowBackup="true"         android:icon="@mipmap/ic_launcher"         android:label="@string/app_name"         android:roundIcon="@mipmap/ic_launcher_round"         android:supportsRtl="true"         android:theme="@style/AppTheme">          <activity android:name="com.arproject.bluetoothworkapp.MainActivity"             android:theme="@style/Theme.AppCompat.NoActionBar"             android:screenOrientation="landscape">             <intent-filter>                 <action android:name="android.intent.action.MAIN" />                  <category android:name="android.intent.category.LAUNCHER" />             </intent-filter>         </activity>         <activity android:name="com.arproject.bluetoothworkapp.ActivityControl"             android:theme="@style/Theme.AppCompat.NoActionBar"             android:screenOrientation="landscape"/>     </application>  </manifest> 

Основная активность, сопряжение Arduino и Android

Наследуем класс от AppCompatActivity и объявляем переменные:

public class MainActivity extends AppCompatActivity {         private BluetoothAdapter bluetoothAdapter;         private ListView listView;         private ArrayList<String> pairedDeviceArrayList;         private ArrayAdapter<String> pairedDeviceAdapter;         public static BluetoothSocket clientSocket;         private Button buttonStartControl; } 

Метод onCreate() опишу построчно:

@Override protected void onCreate(Bundle savedInstanceState) {      super.onCreate(savedInstanceState); //обязательная строчка      //прикрепляем ранее созданную разметку      setContentView(R.layout.activity_main);       //цепляем кнопку из разметки                Button buttonStartFind = (Button) findViewById(R.id.button_start_find);       //цепляем layout, в котором будут отображаться найденные устройства      listView = (ListView) findViewById(R.id.list_device);              //устанавливаем действие на клик                                                                                 buttonStartFind.setOnClickListener(new View.OnClickListener() {                                                                                                                @Override          public void onClick(View v) {              //если разрешения получены (функция ниже)              if(permissionGranted()) {                 //адаптер для управления блютузом                 bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();                  if(bluetoothEnabled()) { //если блютуз включен (функция ниже)                     findArduino(); //начать поиск устройства (функция ниже)                   }               }          }     });       //цепляем кнопку для перехода к управлению      buttonStartControl = (Button) findViewById(R.id.button_start_control);       buttonStartControl.setOnClickListener(new View.OnClickListener() {          @Override          public void onClick(View v) {                 //объект для запуска новых активностей                 Intent intent = new Intent();                  //связываем с активностью управления                 intent.setClass(getApplicationContext(), ActivityControl.class);                 //закрыть эту активность, открыть экран управления                 startActivity(intent);           }      });   } 

Нижеприведенные функции проверяют, получено ли разрешение на использование блютуза (без разрешение пользователя мы не сможем передавать данные) и включен ли блютуз:

private boolean permissionGranted() {      //если оба разрешения получены, вернуть true      if (ContextCompat.checkSelfPermission(getApplicationContext(),           Manifest.permission.BLUETOOTH) == PermissionChecker.PERMISSION_GRANTED &&           ContextCompat.checkSelfPermission(getApplicationContext(),                   Manifest.permission.BLUETOOTH_ADMIN) == PermissionChecker.PERMISSION_GRANTED) {           return true;      } else {           ActivityCompat.requestPermissions(this, new String[] {Manifest.permission.BLUETOOTH,                   Manifest.permission.BLUETOOTH_ADMIN}, 0);           return false;      }  }    private boolean bluetoothEnabled() { //если блютуз включен, вернуть true, если нет, вежливо попросить пользователя его включить      if(bluetoothAdapter.isEnabled()) {          return true;      } else {          Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);          startActivityForResult(enableBtIntent, 0);          return false;      }  } 

Если все проверки пройдены, начинается поиск устройства. Если одно из условий не выполнено, то высветится уведомление, мол, «разрешите\включите?», и это будет повторяться, пока проверка не будет пройдена.
Поиск устройства делится на три части: подготовка списка, добавление в список найденных устройств, установка соединения с выбранным устройством.

private void findArduino() {    //получить список доступных устройств     Set<BluetoothDevice> pairedDevice = bluetoothAdapter.getBondedDevices();      if (pairedDevice.size() > 0) { //если есть хоть одно устройство    pairedDeviceArrayList = new ArrayList<>(); //создать список    for(BluetoothDevice device: pairedDevice) {         //добавляем в список все найденные устройства        //формат: "уникальный адрес/имя"        pairedDeviceArrayList.add(device.getAddress() + "/" + device.getName());        }     }     //передаем список адаптеру, пригождается созданный ранее item_device.xml     pairedDeviceAdapter = new ArrayAdapter<String>(getApplicationContext(), R.layout.item_device, R.id.item_device_textView, pairedDeviceArrayList);      listView.setAdapter(pairedDeviceAdapter);     //на каждый элемент списка вешаем слушатель     listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {     @Override     public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {          //через костыль получаем адрес           String itemMAC =  listView.getItemAtPosition(i).toString().split("/", 2)[0];         //получаем класс с информацией об устройстве         BluetoothDevice connectDevice = bluetoothAdapter.getRemoteDevice(itemMAC);         try {             //генерируем socket - поток, через который будут посылаться данные             Method m = connectDevice.getClass().getMethod(                  "createRfcommSocket", new Class[]{int.class});             clientSocket = (BluetoothSocket) m.invoke(connectDevice, 1);            clientSocket.connect();            if(clientSocket.isConnected()) {                 //если соединение установлено, завершаем поиск                bluetoothAdapter.cancelDiscovery();                  }            } catch(Exception e) {                  e.getStackTrace();              }           }      });  } 

Когда Bluetooth-модуль, повешенный на Arduino (подробнее об этом далее), будет найден, он появится в списке. Нажав на него, вы начнете создание socket (возможно, после клика придется подождать 3-5 секунд или нажать еще раз). Вы поймете, что соединение установлено, по светодиодам на Bluetooth-модуле: без соединения они мигают быстро, при наличии соединения заметно частота уменьшается.

Управление и отправка команд

После того как соединение установлено, можно переходить ко второй активности — ActivityControl. На экране будет только синий кружок — джойстик. Сделан он из обычной Button, разметка приведена выше.

public class ActivityControl extends AppCompatActivity {     //переменные, которые понадобятся     private Button buttonDriveControl;     private float BDCheight, BDCwidth;     private float centerBDCheight, centerBDCwidth;     private String angle = "90"; //0, 30, 60, 90, 120, 150, 180     private ConnectedThread threadCommand;     private long lastTimeSendCommand = System.currentTimeMillis(); } 

В методе onCreate() происходит все основное действо:

//без этой строки студия потребует вручную переопределить метод performClick() //нам оно не недо @SuppressLint("ClickableViewAccessibility")  @Override protected void onCreate(Bundle savedInstanceState) {     //обязательная строка     super.onCreate(savedInstanceState);     //устанавливаем разметку, ее код выше     setContentView(R.layout.activity_control);          //привязываем кнопку     buttonDriveControl = (Button) findViewById(R.id.button_drive_control);     //получаем информацию о кнопке      final ViewTreeObserver vto = buttonDriveControl.getViewTreeObserver();     vto.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {             @Override             public void onGlobalLayout() {                 //получаем высоту и ширину кнопки в пикселях(!)                 BDCheight = buttonDriveControl.getHeight();                 BDCwidth = buttonDriveControl.getWidth();                 //находим центр кнопки в пикселях(!)                 centerBDCheight = BDCheight/2;                 centerBDCwidth = BDCwidth/2;                 //отключаем GlobalListener, он больше не понадобится                  buttonDriveControl.getViewTreeObserver().removeOnGlobalLayoutListener(this);             }         });         //устанавливаем листенер, который будет отлавливать прикосновения          //его код представлен ниже         buttonDriveControl.setOnTouchListener(new ControlDriveInputListener());         //создаем новый поток, он будет занят отправкой данных         //в качестве параметра передаем сокет, созданный в первой активности          //код потока представлен ниже         threadCommand = new ConnectedThread(MainActivity.clientSocket);         threadCommand.run();     } 

Обратите внимание (!) — мы узнаем, сколько пикселей занимает кнопка. Благодаря этому получаем адаптивность: размер кнопки будет зависеть от разрешения экрана, но весь остальной код легко под это подстроится, потому что мы не фиксируем размеры заранее. Позже научим приложение узнавать, в каком месте было касание, а после переводить это в понятные для ардуинки значения от 0 до 255 (ведь касание может быть в 456 пикселях от центра, а МК с таким числом работать не будет).

Далее приведен код ControlDriveInputListener(), данный класс располагается в классе самой активности, после метода onCreate(). Находясь в файле ActivityControl, класс ControlDriveInputListener становится дочерним, а значит имеет доступ ко всем переменным основного класса.

Не обращайте пока что внимание на функции, вызываемые при нажатии. Сейчас нас интересует сам процесс отлавливания касаний: в какую точку человек поставил палец и какие данные мы об этом получим.

Обратите внимание, использую класс java.util.Timer: он позволяет создать новый поток, который может иметь задержку и повторятся бесконечное число раз через каждое энное число секунд. Его нужно использовать для следующей ситуации: человек поставил палец, сработал метод ACTION_DOWN, информация пошла на ардуинку, а после этого человек решил не сдвигать палец, потому что скорость его устраивает. Второй раз метод ACTION_DOWN не сработает, так как сначала нужно вызвать ACTION_UP (отодрать палец от экрана).

Чтож, мы запускаем цикл класса Timer() и начинаем каждые 10 миллисекунд отправлять те же самые данные. Когда же палец будет сдвинут (сработает ACTION_MOVE) или поднят (ACTION_UP), цикл Timer надо убить, чтобы данные от старого нажатия не начали отправляться снова.

public class ControlDriveInputListener implements View.OnTouchListener {     private Timer timer;      @Override     public boolean onTouch(View view, MotionEvent motionEvent) {      //получаем точки касания в пикселях       //отсчет ведется от верхнего левого угла (!)      final float x = motionEvent.getX();      final float y = motionEvent.getY();        //узнаем, какое действие было сделано       switch(motionEvent.getAction()) {           //если нажатие            //оно сработает всегда, когда вы дотронетесь до кнопки            case MotionEvent.ACTION_DOWN:                 //создаем таймер                 timer = new Timer();                 //запускаем цикл                 //аргументы указывают: задержка между повторами 0,                                    //повторять каждые 10 миллисекунд                 timer.schedule(new TimerTask() {                     @Override                      public void run() {                            //функцию рассмотрим ниже                             calculateAndSendCommand(x, y);                      }                  }, 0, 10);                  break;             //если палец был сдвинут (сработает после ACTION_DOWN)             case MotionEvent.ACTION_MOVE:                 //обязательно (!)                 //если ранее был запущен цикл Timer(), завершаем его                 if(timer != null) {                      timer.cancel();                      timer = null;                  }                  //создаем новый цикл                  timer = new Timer();                  //отправляем данные с той же частотой, пока не сработает ACTION_UP                  timer.schedule(new TimerTask() {                      @Override                      public void run() {                          calculateAndSendCommand(x, y);                      }                  }, 0, 10);                  break;             //если палец убрали с экрана             case MotionEvent.ACTION_UP:                  //убиваем цикл                  if(timer != null) {                      timer.cancel();                      timer = null;                  }                 break;          }         return false;     } } 

Обратите еще раз внимание: отсчет x и y метод onTouch() ведет от верхнего левого угла View. В нашем случае точка (0; 0) находится у Button тут:

Теперь, когда мы узнали, как получить актуальное расположение пальца на кнопки, разберемся, как преобразовать пиксели (ведь x и y — именно расстояние в пикселях) в рабочие значения. Для этого использую метод calculateAndSendCommand(x, y), который нужно разместить в классе ControlDriveInputListener. Также понадобятся некоторые вспомогательные методы, их пишем в этот же класс после calculateAndSendCommand(x, y).

private void calculateAndSendCommand(float x, float y) {             //все методы описаны ниже             //получаем нужные значения                          //четверть - 1, 2, 3, 4              //чтобы понять, о чем я, проведите через середину кнопки координаты              //и да, дальше оно использоваться не будет, но для отладки пригождалось             int quarter = identifyQuarter(x, y);              //функция переводит отклонение от центра в скорость            //вычитаем y, чтобы получить количество пикселей от центра кнопки             int speed = speedCalculation(centerBDCheight - y);            //определяет угол поворота             //вспомните первую часть статьи, у нас есть 7 вариантов угла              String angle = angleCalculation(x);        //если хотите вывести информацию на экран, то используйте этот способ       //но в финальной версии он не сработает, так как затрагивает отдельный поток       /*String resultDown = "x: "+ Float.toString(x) + " y: " + Float.toString(y)                + " qr: " + Integer.toString(quarter) + "\n"                + "height: " + centerBDCheight + " width: " + centerBDCwidth + "\n"                + "speed: " + Integer.toString(speed) + " angle: " + angle; */       //viewResultTouch.setText(resultDown);              //все данные полученные, можно их отправлять             //но делать это стоить не чаще (и не реже), чем в 100 миллисекунд             if((System.currentTimeMillis() - lastTimeSendCommand) > 100) {                 //функцию рассмотрим дальше                 threadCommand.sendCommand(Integer.toString(speed), angle);                 //перезаписываем время последней отправки данных                 lastTimeSendCommand = System.currentTimeMillis();             }         }          private int identifyQuarter(float x, float y) {             //смотрим, как расположена точка относительно центра             //возвращаем угол             if(x > centerBDCwidth && y > centerBDCheight) {             return 4;               } else if (x < centerBDCwidth && y >centerBDCheight) {                 return 3;                 } else if (x < centerBDCwidth && y < centerBDCheight) {                 return 2;                  } else if (x > centerBDCwidth && y < centerBDCheight) {                 return 1;             }             return 0;         }          private int speedCalculation(float deviation) {             //получаем коэффициент             //он позволит превратить пиксели в скорость              float coefficient = 255/(BDCheight/2);             //высчитываем скорость по коэффициенту              //округляем в целое              int speed = Math.round(deviation * coefficient);              //если скорость отклонение меньше 70, ставим скорость ноль             //это понадобится, когда вы захотите повернуть, но не ехать             if(speed > 0 && speed < 70) speed = 0;             if(speed < 0 && speed > - 70)  speed = 0;             //нет смысла отсылать скорость ниже 120             //слишком мало, колеса не начнут крутиться             if(speed < 120 && speed > 70) speed = 120;             if(speed > -120 && speed < -70) speed = -120;             //если вы унесете палец за кнопку, ACTION_MOVE продолжит считывание             //вы сможете получить отклонение больше, чем пикселей в кнопке             //на этот случай нужно ограничить скорость             if(speed > 255 ) speed = 255;             if(speed < - 255) speed = -255;             //пометка: скорость > 0 - движемся вперед, < 0 - назад             return speed;         }          private String angleCalculation(float x) {             //разделяем ширину кнопки на 7 частей             //0 - максимально влево, 180 - вправо             //90 - это когда прямо             if(x < BDCwidth/6) {                 angle = "0";             } else if (x > BDCwidth/6 && x < BDCwidth/3) {                 angle = "30";             } else if (x > BDCwidth/3 && x < BDCwidth/2) {                 angle = "60";             } else if (x > BDCwidth/2 && x < BDCwidth/3*2) {                 angle = "120";             } else if (x > BDCwidth/3*2 && x < BDCwidth/6*5) {                 angle = "150";             } else if (x > BDCwidth/6*5 && x < BDCwidth) {                 angle = "180";             } else {                 angle = "90";             }             return angle;         } 

Когда данные посчитаны и переведены, в игру вступает второй поток. Он отвечает именно за отправку информации. Нельзя обойтись без него, иначе сокет, передающий данные, будет тормозить отлавливание касаний, создастся очередь и все конец всему короче.
Класс ConnectedThread также располагаем в классе ActivityControl.

private class ConnectedThread extends Thread {         private final BluetoothSocket socket;         private final OutputStream outputStream;          public ConnectedThread(BluetoothSocket btSocket) {             //получаем сокет             this.socket = btSocket;             //создаем стрим - нить для отправки данных на ардуино              OutputStream os = null;             try {                 os = socket.getOutputStream();             } catch(Exception e) {}             outputStream = os;         }          public void run() {          }          public void sendCommand(String speed, String angle) {             //блютуз умеет отправлять только байты, поэтому переводим             byte[] speedArray = speed.getBytes();             byte[] angleArray = angle.getBytes();             //символы используются для разделения   //как это работает, вы поймете, когда посмотрите принимающий код скетча ардуино             String a = "#";             String b = "@";             String c = "*";              try {                 outputStream.write(b.getBytes());                 outputStream.write(speedArray);                 outputStream.write(a.getBytes());                  outputStream.write(c.getBytes());                 outputStream.write(angleArray);                 outputStream.write(a.getBytes());             } catch(Exception e) {}         }      } 

Подводим итоги Андроид-приложения

Коротко обобщу все громоздкое вышеописанное.

  1. В ActivityMain настраиваем блютуз, устанавливаем соединение.
  2. В ActivityControl привязываем кнопку и получаем данные о ней.
  3. Вешаем на кнопку OnTouchListener, он отлавливает касание, передвижение и подъем пальца.
  4. Полученные данные (точку с координатами x и y) преобразуем в угол поворота и скорость
  5. Отправляем данные, разделяя их специальными знаками

А окончательное понимание к вам придет, когда вы посмотрите весь код целиком — github.com/IDolgopolov/BluetoothWorkAPP.git. Там код без комментариев, поэтому смотрится куда чище, меньше и проще.

Скетч Arduino

Андроид-приложение разобрано, написано, понято… а тут уже и попроще будет. Постараюсь поэтапно все рассмотреть, а потом дам ссылку на полный файл.

Переменные

Для начала рассмотрим константы и переменные, которые понадобятся.

#include <SoftwareSerial.h> //переназначаем пины входа\вывода блютуза //не придется вынимать его во время заливки скетча на плату SoftwareSerial BTSerial(8, 9);  //пины поворота и скорости int speedRight = 6; int dirLeft = 3; int speedLeft = 11; int dirRight = 7;  //пины двигателя, поворачивающего колеса int angleDirection = 4; int angleSpeed = 5;  //пин, к которому подключен плюс штуки, определяющей поворот //подробная технология описана в первой части int pinAngleStop = 12;  //сюда будем писать значения String val; //скорость поворота int speedTurn = 180; //пины, которые определяют поворот //таблица и описания системы в первой статье int pinRed = A0; int pinWhite = A1; int pinBlack = A2;  //переменная для времени long lastTakeInformation; //переменные, показывающие, что сейчас будет считываться boolean readAngle = false; boolean readSpeed = false; 

Метод setup()

В методе setup() мы устанавливаем параметры пинов: будут работать они на вход или выход. Также установим скорость общения компьютера с ардуинкой, блютуза с ардуинкой.

void setup() {       pinMode(dirLeft, OUTPUT);   pinMode(speedLeft, OUTPUT);      pinMode(dirRight, OUTPUT);   pinMode(speedRight, OUTPUT);      pinMode(pinRed, INPUT);   pinMode(pinBlack, INPUT);   pinMode(pinWhite, INPUT);    pinMode(pinAngleStop, OUTPUT);    pinMode(angleDirection, OUTPUT);   pinMode(angleSpeed, OUTPUT);    //данная скорость актуальна только для модели HC-05   //если у вас модуль другой версии, смотрите документацию   BTSerial.begin(38400);    //эта скорость постоянна    Serial.begin(9600); } 

Метод loop() и дополнительные функции

В постоянно повторяющемся методе loop() происходит считывание данных. Сначала рассмотрим основной алгоритм, а потом функции, задействованные в нем.

 void loop() {   //если хоть несчитанные байты   if(BTSerial.available() > 0) {      //считываем последний несчитанный байт      char a = BTSerial.read();           if (a == '@') {       //если он равен @ (случайно выбранный мною символ)       //обнуляем переменную val       val = "";       //указываем, что сейчас считаем скорость       readSpeed = true;      } else if (readSpeed) {       //если пора считывать скорость и байт не равен решетке       //добавляем байт к val       if(a == '#') {         //если байт равен решетке, данные о скорости кончились         //выводим в монитор порта для отладки         Serial.println(val);         //указываем, что скорость больше не считываем         readSpeed = false;         //передаем полученную скорость в функцию езды          go(val.toInt());         //обнуляем val         val = "";         //выходим из цикла, чтобы считать следующий байт         return;       }       val+=a;     } else if (a == '*') {       //начинаем считывать угол поворота       readAngle = true;      } else if (readAngle) {       //если решетка, то заканчиваем считывать угол       //пока не решетка, добавляем значение к val       if(a == '#') {        Serial.println(val);        Serial.println("-----");         readAngle = false;         //передаем значение в функцию поворота         turn(val.toInt());         val= "";         return;       }       val+=a;     }     //получаем время последнего приема данных     lastTakeInformation = millis();   } else {      //если несчитанных байтов нет, и их не было больше 150 миллисекунд       //глушим двигатели      if(millis() - lastTakeInformation > 150) {      lastTakeInformation = 0;      analogWrite(angleSpeed, 0);      analogWrite(speedRight, 0);      analogWrite(speedLeft, 0);      }         } } 

Получаем результат: с телефона отправляем байты в стиле «@скорость#угол#» (например, типичная команда «@200#60#». Данный цикл повторяется каждый 100 миллисекунд, так как на андроиде мы установили именно этот промежуток отправки команд. Короче делать нет смысла, так как они начнут становится в очередь, а если сделать длиннее, то колеса начнут двигаться рывками.

Все задержки через команду delay(), которые вы увидите далее, подобраны не через физико-математические вычисления, а опытным путем. Благодаря всем выставленным задрежам, машинка едет плавно, и у всех команд есть время на отработку (токи успевают пробежаться).

В цикле используются две побочные функции, они принимают полученные данные и заставляют машинку ехать и крутится.

void go(int mySpeed) {   //если скорость больше 0   if(mySpeed > 0) {   //едем вперед   digitalWrite(dirRight, HIGH);   analogWrite(speedRight, mySpeed);   digitalWrite(dirLeft, HIGH);   analogWrite(speedLeft, mySpeed);   } else {     //а если меньше 0, то назад     digitalWrite(dirRight, LOW);     analogWrite(speedRight, abs(mySpeed) + 30);     digitalWrite(dirLeft, LOW);      analogWrite(speedLeft, abs(mySpeed) + 30);   }   delay(10);   }  void turn(int angle) {   //подаем ток на плюс определителя угла   digitalWrite(pinAngleStop, HIGH);   //даем задержку, чтобы ток успел установиться   delay(5);      //если угол 150 и больше, поворачиваем вправо    //если 30 и меньше, то влево    //промежуток от 31 до 149 оставляем для движения прямо   if(angle > 149) {         //если замкнут белый, но разомкнуты  черный и красный         //значит достигнуто крайнее положение, дальше крутить нельзя         //выходим из функции через return          if( digitalRead(pinWhite) == HIGH && digitalRead(pinBlack) == LOW && digitalRead(pinRed) == LOW) {           return;         }         //если проверка на максимальный угол пройдена         //крутим колеса         digitalWrite(angleDirection, HIGH);         analogWrite(angleSpeed, speedTurn);   } else if (angle < 31) {          if(digitalRead(pinRed) == HIGH && digitalRead(pinBlack) == HIGH && digitalRead(pinWhite) == HIGH) {           return;         }         digitalWrite(angleDirection, LOW);         analogWrite(angleSpeed, speedTurn);   }   //убираем питание    digitalWrite(pinAngleStop, LOW);   delay(5); } 

Поворачивать, когда андроид отправляет данные о том, что пользователь зажал угол 60, 90, 120, не стоит, иначе не сможете ехать прямо. Да, возможно сразу не стоило отправлять с андроида команду на поворот, если угол слишком мал, но это как-то коряво на мой взгляд.

Итоги скетча

У скетча всего три важных этапа: считывание команды, обработка ограничений поворота и подача тока на двигатели. Все, звучит просто, да и в исполнении легче чем легко, хотя создавалось долго и с затупами. Полная версия скетча — github.com/IDolgopolov/AgroArduinoF.

В конце концов

Полноценная опись нескольких месяцев работы окончена. Физическая часть разобрана, программная тем более. Принцип остается тот же — обращайтесь по непонятным явлениям, будем разбираться вместе.
А комментарии под первой частью интересны, насоветовали гору полезнейших советов, спасибо каждому.

Видео результата


ссылка на оригинал статьи https://habr.com/post/424813/

Тополого-генетическая природа материи в 10 комментариях

Тополого-генетическая природа материи
(в десяти комментариях)

Эволюция Вселенной – вопрос вопросов. В данной работе речь идёт о глубинной науке, в которой соотносятся объективная реальность и особенности познания. Показано, насколько представления учёных, сложившиеся стереотипы и язык науки способны физически и понятийно представлять истоки и механизмы преобразований материи. Автором обоснована альтернативная тополого-генетическая концепция становления материи, фундаментом которой признана топологическая среда, способная породить как бесконечно большое, так и бесконечно малое места, и осуществлять топологический круговорот.

Ключевые слова: топологическая среда, конечное и бесконечное её состояния как полярности; пограничная зона, встроенные и рядоположные (бок о бок) проявления соотношений полярностей, макроначало и мелкоячеистое поле, струнный каркас Вселенной, вещество как многоуровневое срединное выражение среды.

Исходная аксиома:

если порождение материи, её последующие преобразования и различные проявления усложняющегося разнообразия не обходятся без движения, то главным и единственным вопросом познания становится выяснение происхождения именно данного свойства материи. В этом случае остаётся предположить существование топологической среды, состоящей из двух структурных частей – бесконечного и конечного. Эти противоположности определяют друг друга и не существуют одна без другой. Взаимодействие конечного и бесконечного и есть суть проявления материи.
Topos в переводе с греческого означает место, а топологическую среду следует понимать именно как место без конца и края, в котором материя начинает самоопределяться различными геометрическими фигурами и взаимными преобразованиями, проявляя одновременно и с переменным успехом общее стремление как к большому, так и малому. Поэтому материя и пульсирует между этими двумя крайностями, осуществляя в конечном счёте топологический круговорот.
Таково вступительное слово и общее определение возникновения материи.

Современное состояние проблемы.

Основная проблема любого автора состоит в описании в точных, но доступных определениях уникальной исходной ситуации: из какого материала состояла материя, каковы были её пространственно-временные характеристики, какие произошли преобразования и в силу каких причинно-следственных связей.
Трудность в том, что ныне отсутствуют первичные условия и исходные процессы возникновения материи, и более того, их невозможно воспроизвести лабораторно. Надо признать также, что современные сложности представления и понимания первозданной топологической среды связаны ещё и с инертностью нашего мышления, привыкшего к рассуждениям о материи исключительно в так называемой вещественной форме. Эти взгляды основаны на атомарной структуре, на элементарных частицах, собранных из кварков, пребывающих во множестве в различных агрегатных состояниях, фрагментарно связанных некими промежуточными закономерностями и т.п. И это клише понимания действительности, надо полагать, проявляется у большинства научной общественности в признании Теории Большого Взрыва. Т.е. в характеристике начала материи в механистической вещественной парадигме, приписывающей истоку Вселенной чрезвычайно большой плотности, высочайшей температуры и мизерного объёма, с последовавшим затем взрывом и гигантским разбросом плотно упакованной материи. В качестве доказательства данной картины движения материи приводится обнаружение астрофизиками ускоряющегося разбегания во все стороны галактик, якобы подтверждающее также ускоренное расширение и разрежение самой Вселенной.
Естественно, этапно-уровневые процессы преобразований исходного нечто неизвестной этиологии, претерпели с той поры существенные трансформации. Поэтому они пока не позволяют учёным открыть объективную логику генеза (развития), выделить генетические основания (разновидности движений), и представить геном Вселенной (совокупность устойчивых связей и отношений движений), полный цикл круговорота материи. В этой связи симптоматично также введение учёными в научный оборот так называемого сингулярного состояния материи, в котором якобы никакие физические законы ещё (или уже) не действуют. Следовательно, его совершенно невозможно ни обдумать, ни представить себе. Поэтому последующие поколения учёных вынуждены были задним числом существенно расширить тезаурус, наполнить категориальный аппарат такими новыми понятиями, как: невещественная форма материи, загадочные тёмная материя и тёмная энергия, антивещество и даже антиматерия, чёрные дыры и кротовые норы. А Вселенная из одного экземпляра размножилась в мульти- и параллельные вселенные, обещая нам роскошь общения с нашими двойниками и клонами! Ну как же можно отказаться от таких перспектив??!

Физика проявления материи.

Итак, по существу обосновываемой нами альтернативной тополого-генетической концепции становления материи, главное свойство топологической среды состоит в её способности порождать как бесконечно большое, так и бесконечно малое места (объёмы, области, части). И это фундаментальное условие становления материи проявляется одним единственным образом – посредством замкнутой оболочки, делящей эту среду на внешнюю и внутреннюю области. В этом случае внутренняя область ограничивается поверхностью этой самой оболочки, она объективно конечна. А внешняя область снаружи ничем не ограничена, поэтому она бесконечна. При этом, если замкнутая оболочка равномерно отстоит от центра внутренней области, то она естественно принимает сферическую форму.
Итак, замкнутая оболочка сферической формы не только проявляет конечную и бесконечную топологические полярности, но и приводит их в тесное взаимодействие друг с другом. Тем самым пограничная зона существенно видоизменяется, наполняется всем набором соотношений топологических полярностей. Взаимодействия и преобразования последних друг в друга проявляются материальными потоками движений, вполне определёнными их разновидностями. И далее по порядку.

Первый топологический комментарий.

Рассматривая поверхность сферы в качестве пограничной зоны между топологическими полярностями (и социально выраженными философскими категориями) конечного и бесконечного, важно обратить внимание на следующие характеристики данной геометрической фигуры. Если сфера замкнута и непрерывна, значит у неё нет краёв, за которые можно выйти, если вести линию по её поверхности. Однако сама поверхность сферы двусторонняя, с одной (внешней или внутренней) стороны невозможно перейти во вторую (противоположную) без пересечения границы или её просверливания. При этом упомянутые пограничные стороны, надо полагать, равнозначны и равносильны! Стало быть, условный радиус сферической оболочки может изменяться линейно, направленный как во внешнюю, так и во внутреннюю стороны (или соответствовать одной из полярностей и далее расти-убывать, пульсировать до противоположной). Также данный радиус может вращаться, условно по и против часовой стрелки, по всему периметру подобно радару. При этом стягивающее центростремительное движение этой оболочки означает стремление внутренней области к малому и конечному состоянию, а одновременно внешней – к приращению большого и бесконечного; центробежное растягивание оболочки приводит к сопряжённому обратному эффекту. Также следует обратить внимание и на темпы преобразования материи. Например, при уменьшении размера оболочки в два раза, объём внутренней области уменьшается в восемь раз. Соответствующее же, подчеркнём, одновременное приращение объёма внешней области составит мизерную величину. Другими словами, стремление топологической среды к малому проявляется разительно, а соответствующее её устремление к большому – весьма незначительно. В этом, вероятно, и состоит проявление жесточайшего напряжения в топологической среде, и нуждающееся в уравновешивании! Поэтому отмечаемые между последовательными концентрическими прослойками процессы разрежения в центробежных переходах и сгущения импульсов в центростремительном увязываются уже с латеральными (боковыми) импульсами в двух взаимно перпендикулярных направлениях, с порождением и интенсификацией круговых движений. Иными словами, ослабление движения в радиальных направлениях компенсируется ростом концентрических разновидностей, с вращательными движениями. И наоборот. В итоге возможны как равномерное и уравновешенное ступенчатое наслаивание и встраивание оболочек, так и уравновешенное круговое развёртывание-вращение прослоек.

Начальные выводы

: а) материя как таковая возникает только благодаря пограничной зоне, проявляющей и приводящей во взаимодействие топологические полярности большого и малого; б) конечное и бесконечное, проявляя строго определённые диапазоны соотношений, объективно становятся структурными частями материи; в) выступая посредством сферической пограничной зоны сообщающимися сосудами, топологические полярности проявляют движение в центростремительно-центробежных, и радиально-концентрических направлениях-разновидностях, со взаимными переходами максимума одной при минимуме другой в одной полярной области и обратно пропорциональным их сочетанием при достижении противоположной области. А такие характеристики полярных проявлений и сочетаний движений как уравновешенные и равномерные, становятся закономерными свойствами преобразований материи. А потом удивляемся, откуда такая супертонкая настройка материи во Вселенной?!

Второй топологический комментарий.

Главное, у данных процессов обнаруживаются вполне определённые пределы бесконечно малого и бесконечно большого проявления материи.
Вначале коснёмся особенностей мышления исследователей одной и той же области действительности, но разных разделов и из разных научных школ. Например, традиционно мыслящий математик может себе позволить прибавлять (или отнимать) всевозможные слагаемые (не только конечные, но и бесконечные) к любым величинам, в том числе и к бесконечным. Но тополог всегда осознаёт, что пограничная зона сферической формы, внешняя кромка которой стремится к бесконечности, может достигнуть некоего предела. Когда последующее прибавление к отмеченной оболочке новой прослойки приводит уже лишь к параллельности (плоскости) поверхностей, и это будет означать достижение конца минимально значимых изменений соотношений полярностей. Точно также, при одновременном обратном стремлении прослоек занять конечное, бесконечно малое место, аналогичные дискретные изменения среды противоположной направленности должны соблюдаться и уравновешиваться. Принципиальное наличие в соотношениях полярностей нижнего малого предела можно подкрепить ещё тем фактом, что нулевым он быть не может, ибо по определению теряется проявление материи.
Аргументацию становления верхнего и нижнего пределов, их взаимных преобразований и переходов можно продолжить, рассматривая топологические особенности сферы, связанные с величинами и соотношениями её площади, объёма, а также показателями кривизны поверхностей. В сопоставительном плане поверхность сферы имеет наименьшую площадь из всех поверхностей геометрических фигур, ограничивающих данный объём. И наоборот. Из всех поверхностей с данной площадью сфера заключает в себе наибольший объём. Итак, сфера обладая относительным минимумом площади (min S), заключает собой максимальный объём (max V). Тем самым сфера данными свойствами выделяется среди прочих геометрических фигур в качестве приоритетной в деле проявления как малого, так и большого. Обсуждаемые показатели связаны с радиусом сферы ®: соразмеряя их, отметим, что радиус – одномерная величина, площадь двумерная, а объём трёхмерная. Отсюда открываются возможности преобразования одного показателя через другие, включив собственно движения той или иной разновидности, и правозглашая их основной движущей силой.
Например, вращение радиуса на плоскости даёт площадь круга-окружности. Объём образуется вращением окружности вокруг своего диаметра на 180о или полуокружности вокруг своего диаметра на 360о. Иными словами, имеются возможности преобразования трёхмерных фигур в 2-мерные, последних — в одномерные и обратно. Геометрические фигуры, переходящие одна в другую при топологических преобразованиях, называют топологически эквивалентными и чтобы доказать их эквивалентность, достаточно указать возможные преобразования. Однако, обсуждаемые параметры геометрических фигур выполняют разные функции. Так, объём шара непосредственно характеризует величину внутренней области, т.е. определяет конечную полярность, а сама сферическая поверхность шара, служа пограничной зоной, своей площадью указывает на обширность (фронтальность) взаимодействий между конечным и бесконечным. Более того, оценивая кривизну поверхностей между соседними прослойками, можно установить достижение в них некоторого параллелизма и тем самым соотношений (этапов, уровней) и пределов проявлений материи. При этом, если концентрические движения тяготеют к показателям времени, то радиальные – к значениям пространства, тем самым они связаны с развёртыванием-свёртыванием материи. Следовательно, пространство доминирует на фазе перехода материи от встроенного состояния в рядоположное. А время начинает преобладать на этапе свёртывания материи. Одно движение (разновидность) может стремиться к рядоположности, другое – к встроенному состоянию материи. Иными словами, они могут проявляться на этапах преобразования материальных движений из невещественной формы в вещественную и обратно.
Обобщая, отметим, что две разновидности движения фактически берут на себя структурно-регуляторные функции и способны объяснить наблюдаемое богатство проявлений материи.

Третий топологический комментарий.

Не менее важно обратить внимание пытливого читателя на специфику собственно матрёшечно-встроенной многослойной структуры топологического образования. Она представляется следствием упомянутой выше двусторонности единичной замкнутой сферической оболочки как пограничной зоны, но проявляющейся уже во множестве встроенных прослоек. В этом случае наружная сторона одной прослойки предстаёт внутренней стороной другой соседней надстроенной и т.д. И таким образом внешне-внутренние стороны концентров как бы сливаются, разности обобщаются и плавно переводят потенциал движений в прослойках радиальной разновидности в концентрическую в центробежном направлении и наоборот. В конечном счёте, у представленной обширной пограничной зоны отчётливо обнаруживаются лишь два предельных значения прослоек: на стороне микро — это внутренняя кромка бесконечно малого пузырька, и на стороне макро — внешняя кромка самого большого концентра.
В целом пограничная зона проявляется макроскопическим многослойным топологическим полым шаром, изначально определяя матрёшечно-встроенную форму взаимных расположений большого и малого. Она специфична и содержит в себе глубинную тополого-генетическую суть материи. Отсюда логично введение нового понятия: например, эмбриональное состояние или просто эмбрион Вселенной (рис. 1).

Рис. 1. Портрет начального состояния пограничной зоны в общем виде и в разрезе потоков движения (r –радиус самой малой сферической прослойки с максимальной кривизной C max; R – радиус самой большой прослойки с минимальной кривизной C min)

Четвёртый топологический комментарий

. Надо признать, что встроенная форма огромного множества сферических оболочек с тонкими прослойками (радиально-концентрическими разновидностями движения) – это сверхплотная упаковка материи. Но это не вся материя, которая могла бы проявиться в других условиях. При внутреннем свёртывании оболочек легко достигается бесконечно малое место (буквально граничащее с нулём), однако сопряжённое проявление средой большого места, полагая их равноценными, оказывается при этом всё же весьма скромным. Отсутствие кривизны и параллелизм наружных прослоек ещё не означают достаточную исчерпанность бесконечно большого.
Отмечая сжатое проявление материи, можно привести и более веские топологические основания. Так, в эмбрионе материи наиболее полно представлены все без исключения радиальные направления движения, как его расходящиеся, так и сходящиеся пульсации. Однако концентрические разновидности движения, условно по и против часовой стрелки, пульсируя от центрального микропузырька до периферийной оболочки и обратно, всё же оказываются ограниченными со стороны макро- этой самой крайней оболочкой. С другой стороны, если бы этот предел не был найден и установлен, то сами концентрические пульсации — как в центробежном, так и в обратном направлениях и их взаимные переходы были бы весьма проблематичны. Однако основной аргумент, принципиальная ограниченность сжатого состояния встроенных друг в друга сферических оболочек заключается в том, что все они изогнуты односторонне – внутрь и не уравновешены оболочками с противоположной кривизной, соответствующей множеству центров.
Как оценить эту топологическую ситуацию?! Это наполненное движениями в центростремительно-центробежном и радиально-концентрических направлениях место есть исходное проявление материи. Оно характеризуется обобщённостью (встроенностью), когда ещё невозможно выделить в отдельности ни один конкретный вращающийся концентр, и ни одно обособленное радиальное направление движений. Кроме упомянутых ранее двух полярных микро-макро, внешне-внутренних кромок эмбриона Вселенной. Поэтому обсуждаемый сгусток материи в крайне сжатой, свёрнутой, односторонне искривленной форме, бурлит внутри радиально-концентрических разновидностей движения, жаждет освободиться от оков единого совмещённого эпицентра да заняться творчеством движений во всей полноте комбинационных возможностей. Эмбрион материи находится в «интересном» положении, накануне своего раздвоения, выворачивания наизнанку.

Пятый топологический комментарий

. В чём смысл становления обширной толстой, собственно матрёшечно-встроенной структуры пограничной зоны? Как раскрывается потенциал движения в многослойной полосе при сравнении с, допустим, тонкой резиновой оболочкой, которая последовательно сжимаясь и растягиваясь, пульсирует между полярностями большого и малого?
Главным образом, благодаря многослойности пограничной зоны достигается равномерное перераспределение той огромной напряженности посредством дополнения радиальных движений концентрическими разновидностями в центробежном направлении и наоборот. И поэтому в плане распаковки данная конструкция пограничной зоны позволяет значительную часть пути с одной стороны в противоположную переходить без «просверливания», за счёт внутренних преобразований. Таким образом, топологическая природа становления материи нашла более мягкий вариант, но, естественно, не до конца. При достижении предельной микроскопической прослойки оказалось, что невозможно далее обходиться только внутренними межпрослоечными преобразованиями, их просто не осталось, недостаточно также просверливания маленького «отверстия». Для полного выворачивания последней прослойки на полюсе бесконечно малого наизнанку требуется серьёзная полостная операция микропузырьков, причём по всем трём взаимно перпендикулярным плоскостям. И надо признать справедливость проведения этой кардинальной операции на завершающем этапе, а главное и в целом – эффективным малоинвазивным методом.
Принимая во внимание приведённые топологические комментарии, можно утверждать, что начало проявления материи зиждется на геометрии, а последующие преобразования её выливаются в потоки движений. Собственно благодаря неоднократному чередованию и согласованию двух указанных видов движения и актуализируется совокупность встроенных друг в друга сферических оболочек с соответствующими радиально-концентрическими прослойками, а также осуществляется их последовательно-ступенчатый переход от самого малого значения до самого большого и обратно. А сочетания и взаимные преобразования их, проходя через тополого-геометрические жернова (формы, потоки, фазы), обладают огромной и неисчезающей инерцией. Отмеченное можно представить в виде преобразования потенциальной энергии в кинетическую и обратно, и так далее, до бесконечности. Очередной вывод: инертность движения сопутствует материи с самого начала.

Шестой топологический комментарий

связан с встречной инициативой. С конкретной технологией, исходящей со стороны бесконечно большого в верхних наружных прослойках, в которых радиальные и концентрические, центробежно-центростремительные импульсы так или иначе уравниваются. Тем самым появляются возможности локальных искривлений участков наружной сферической поверхности эмбриона в обратную сторону, внутрь, направленных в центр. Учитывая двусторонность толстостенного полого шара (наружная и внутренняя стороны или микро- и макро- пределы), считая их равнозначными и равноценными, стало быть, приоритет в проявлениях материи с переменным успехом можно придать то одной, то противоположной стороне пограничной зоны (замкнутой оболочке, равно эмбриону Вселенной). Механизмом этого могут служить резонансные явления во множестве прослоек, закономерно приводящие к возникновению «вмятин». И когда пара «вмятин» в диаметрально противоположных областях пронизывает эмбрион, наконец-то проявляется вполне определённое радиально направленное движение — сквозная, диаметральная ось шара, инициирующая уже вращательные движения вокруг себя в перпендикулярных плоскостях (ради уравновешивания). Рис. 2.
Материя трансформируется во множество бок о бок, рядоположных плоских кругов-дисков движения, огромных на экваторе и постепенно убывающих к полюсам. И вновь резонансные явления теперь уже применительно к вращающимся в противоположных направлениях дискам полушарий вдоль данной оси (к центру и от него), приводят к делению их надвое, и свёртыванию в два шара. Свёртывание сопровождается при этом растворением одной срединной прослойки, заполняющей затем промежуток между возникшими продуктами деления эмбриона. Так расслоение эмбриона происходит по геометрической прогрессии до самых внутренних центральных микропузырьков (рис. 3).

Рис. 2. Возникновение «вмятин», становление центральной оси и
вращательного движения.Эмбрион Вселенной перед своим делением пополам
А указанный раствор материи можно считать пространством или, ещё лучше, срединным уравновешивающим полем (СУП). Это поле напряжённое, выпрямленное, растянутое, стремящееся наслоиться в равной мере как на один продукт деления, так и на другой, но вынужденное пока флуктуировать лишь во множестве модальностей. Итак, дополнительные резервы проявления средой бесконечно большого приоткрываются при переходе от встроенной, закрытой, односторонне изогнутой формы на рядоположную (бок о бок, открытую, всесторонне развернутую) топологию соотношений полярностей. Заимствование дополнительных резервов имело место равным образом как у бесконечно большого, так и бесконечно малого. При этом объём Вселенной многократно увеличивается без всякой инфляции и Большого Взрыва.

Рис. 3. Картина последовательного деления эмбриона Вселенной на две части и далее по геометрической прогрессии

Итак, непреходящей взаимосвязью противоположных тенденций топологической среды утверждается существование верхнего и нижнего пределов соотношений топологических полярностей во встроенной их упаковке. Это необходимо и крайне важно для установления чётких внешних рамок и при развёрнутом, дискретном их проявлении. Так, деление макроскопического эмбриона хотя и происходит ступенчато, по геометрической прогрессии, и приводит к чрезвычайно большому числу микропузырьков, но количество их явно конечно. И занимаемый ими объём в открытой фазе также огромен, но он вполне определён и конечен. А если бы они представляли собой начальную фазу развёртывания материи, внешние её пределы определить было бы невозможно. В этом случае всегда существовал бы соблазн (да и возможность!) прибавить к существующему числу пузырьков ещё один, — и так без конца. Напрашивается вывод о конечности и открытости Вселенной!
Итак, материя в открытой фазе проявляется двумя новообразованиями — срединное уравновешенное поле (СУП) и великое множество плавающих в нём микропузырьков, расположенных равномерно как в узлах кристаллической решётки, образуя глобальный струнный каркас Вселенной (СКВ, рис 4). СУП, как промежутки между пузырьками, физически предстаёт отныне как некое суперогромное, выпрямленное и поэтому весьма напряжённое, развёрнутое, всеобъемлющее, но всё же конечное новообразование. Причем наполнено оно динамичной квантованной рябью: от гигантских полуволн (вследствие исходного деления-расслоения макроскопического эмбриона пополам и далее по геометрической прогрессии) до встроенных в предыдущие, ступенчато-нисходящие волнения среды относительно его срединного состояния (по определению). Надо полагать, что именно отсутствие у современных физиков отмеченных выше познаний и проявилось у них смутными представлениями «тёмной материи», «тёмной энергии» неизвестной природы, составляющие, по их мнению, 96-97% от всей её массы.

Рис. 4. Кубическая форма взаимного расположения микроскопических
пузырьков во множестве (струнный каркас Вселенной) и локально на микроуровне

В седьмом топологическом комментарии

необходимо дать пояснения относительно специфичности движений, связанных с переходом материи из закрытой фазы в открытую, т.е. с её распаковкой.
Пояснение первое. Как бы мы ни раскрывали содержание понятия «движение», наше сознание будет вопрошать, нуждаясь в разъяснении, что же всё-таки движется: какой-либо предмет, эфир, пустота, ничто? Это происходит потому, что по нашему разумению движение беспредметным не бывает. Поэтому необходимо ещё раз однозначно заявить, что под движением понимается трансформация пограничной зоны в целом. И она как раз и является продуктом взаимодействия двух топологических полярностей, но которые из-за взаимного проникновения и динамики нами не осязаются и не осознаются как материальные образования.
Пояснение второе. Обоснованный нами эмбрион Вселенной никуда не перемещается, в нём лишь происходит последовательная передача импульсов (инерции) движения, в центробежно-центростремительных направлениях циклически пробегают внутренние сферические волны. Поэтому эмбрион можно представить одной единой «студенисто-желейной» массой, наполненной вышеописанными эстафетными передачами и колебаниями.
Пояснение третье. Хотя сама распаковка материи и расслоение эмбриона сопровождаются вроде бы значительной динамикой, однако движение в обычном понимании в них отсутствует. Имеет место распаковка, развёрнутое рядоположное размещение топологических полярностей, приведённых к общему знаменателю, к полным и крайним проявлениям самого большого и самого малого в развёрнуто-слитной и рядоположно дискретной формах. В этой массе проявлений материи вновь наблюдаются лишь волнения разной модальности.
Но такое понимание движения сохраняет справедливость лишь до тех пор, пока часть микропузырьков не вывернется наизнанку и тем самым не выработают автономные микроскопические кванты материи. Последние, выражая вполне конкретные соотношения полярностей, способны к взаимодействиям с подобными же квантами и, стало быть, к проявлению самостоятельного движения в каком-либо направлении, с той или иной скоростью и ускорением. В этом случае мы начинаем связывать движение с изменениями положения уже конкретных кирпичиков материи, а далее — составленных из них новообразований, приобретающими в процессе взаимного движения (изменений) вполне определённые формы, размеры и другие физико-химические свойства.

Восьмой топологический комментарий

. В свете вышесказанного, напряжённая кубическая топологическая структура микропузырьков способна генерировать вновь лишь импульсную передачу движения строго по трём взаимно перпендикулярным поступательно-возвратным направлениям в каждом узле. Отсутствуют, как таковые, центробежно-центростремительные направления передачи импульсов, то есть сходяще-расходящиеся радиальные, а также концентрически-встроенные разновидности движения. Имеются все основания квалифицировать данное состояние (фазу, стадию) материи как рядоположное (бок о бок), полностью распакованную форму её существования.
Чем знаменательны эти основания?!!! Прежде всего, эти три взаимно перпендикулярные, пересекающиеся оси-плоскости-направления и размерности, представляя собой базовые, генетически узловые, максимально выраженные топологические основания (и центры во множестве), способны своими комбинациями породить любые иные сочетанные разновидности движения материи, в том числе и возврат её в исходное состояние.
В целом отмеченные выше факты круговой цикличности, центробежно-центростремительных пульсаций, регулярности развёртывания и свёртывания кирпичиков природы можно и нужно понимать как образующий, генетический процесс, в котором нечто периодически рождается, осуществляет свой «жизненный» переход из одного крайнего состояния в другое, «умирает», а затем возрождается снова. Эти процессы могут иметь определённую последовательность и длительность, распространённость и синхронность. Но главная их характеристика — рекурсивная надстроенность.
Термин «рекурсия» заимствован из математической логики и теории множеств. Рекуррентные (лат. recurrens – возвращающийся) – возвратные последовательности, каждый следующий член которой, начиная с некоторого пункта, по определенному правилу выражается через предыдущие и ранее определённые значения.
Чрезвычайно важно отметить, что рекуррентная функция топологических преобразований выражается в том, что, начиная с некоторого обобщенного и фиксированного уровня проявлений материи (т.е. эмбриона Вселенной), следующие этапы и уровни преобразований дополняются уже новыми условиями, надстройками открытой, развёрнутой рядоположной фазы. Такой подход способен проявить эмпирически действующую, но глубинно не осознанную топологическую самоорганизацию материи, реализуемую через воспроизводство (повторение) пограничной зоны и развития в ней более плотного взаимодействия, многоуровневого согласования, синтеза полярностей, и достижения уравновешенного срединного состояния в целом. Достигнув которого, материя должна далее перевалить на другой склон и завершить топологическим круговоротом. Поэтому рекурсия должна быть рассмотрена как важная составляющая единого тополого-генетического процесса и самоорганизации материи в целом, ведь она наследует сразу две программы: материального сохранения и топологического развития.
В этой связи основная тополого-генетическая функция материи как пограничной зоны заключается не только в проявлении топологических полярностей, как таковых, но и в приведении их в тотальное взаимодействие. И рядоположное развёрнутое состояние пограничной зоны предоставляет для этого наилучшие условия.
Топологическая генетика Вселенной предполагает наличие единой системы регуляции, которая работает по принципу обратной связи. Вначале даже кажется, что она носит сугубо приспособительный характер, хотя смотря к чему эта саморегулируемая система приспосабливается. К топологическим полярностям – конечно, да! Однако, хотелось бы указать на упомянутый выше императив тотальности взаимодействий полярностей в развёрнутом рядоположном состоянии материи, и в этой связи — на многоуровневость и поливариативность срединных геометрических новообразований и приспособлений, переходящих в топологическое творчество. Принцип регуляции по типу обратной связи в целом сохраняется, но механизмы рекурсивного подхода, объединённые в один операционный блок, существенно обогащают и усложняют эволюцию материи. Иными словами, в поле топологических комбинаций, по мере генеза материи, начинают входить не только предыстория и новейшая история, а полная версия анамнеза движения.
Так, пульсации эмбриона Вселенной в центробежно-центростремительных направлениях радиально-концентрическими разновидностями движений, сопровождающиеся лишь сменой одного знака на противоположный, могут считаться в общем-то идентичными, эквивалентными. Поэтому эти две последовательности, проявляя стремление к срединному состоянию, обобщаются и предстают сочетанной двойной нитью, способной исполнять последовательно уже как процессы развёртывания, так и свёртывания базовой структуры. Эти структуры, циклически воспроизводясь, становятся матрицей, служат наследственным кодом, а свёртываясь становятся способными передавать данную структуру следующим поколениям топологических новообразований. При этом сами процессы циклического развёртывания и свёртывания базовой структуры фактически выражают стремление согласовывать себя с окружающей средой, с топологическими полярностями: соответственно, в первом случае с макромиром, во втором, — с микро. При этом последующее этапно-уровневое развитие пограничной зоны происходит с унаследованием свойств как изначально встроенного обобщенного состояния материи во множестве радиально-концентрических прослоек, так и наращениями рядоположного состояния. Тем самым новообразования гармонично вписываются в среду и находят свою благоприятную нишу для последующего усложняющегося (срединного, уравновешенного) развития. Условно говоря, актуализируется пространство транскрипции и трансляции во времени и т.д. А приведенные ранее свойства и разные аспекты геометрических фигур становятся модуляторами, усиливающими или ослабляющими действие разновидностей движения как генов.
Кстати, генетики лишь совсем недавно сумели провести расшифровку наследственного кода человека. Её можно оценить как величайший за всю историю триумф научного познания. Молекула наследственности человека включает 3 миллиарда 200 миллионов букв-знаков, и эти четыре нуклеотидных основания — аденин, тимин, гуанин, цитозин – ещё только опознаны и идентифицированы, т.е. это послание пока лишь прочитано. И можно сказать, что и сами генетики его ещё не совсем понимают, не говоря уже об объяснении возможности возникновения такого сложного образования вообще. Ведь для стихийного возникновения молекулы ДНК не хватило бы и всего времени существования Вселенной! Это обстоятельство толкает кое-кого из учёных на мысль о возможном её сознательном проектировании неким Творцом. Но представленная генетическая картина возникновения и эволюции материи должна заставить учёных серьёзным образом задуматься и перестать прикрывать свою научно-познавательную инфантильность, а также интеллектуальную леность и немощь божественным промыслом, инкриминируя Всевысшему такие детские шалости, как топологические игры с кубиками, шариками … То есть не стоит использовать сакральное имя Господа Бога всуе.

Девятый топологический комментарий

связан с некоторой перестройкой СУП и СКВ, благодаря которой удаётся небольшую часть микропузырьков вывернуть наизнанку и тем самым осуществить их перевод от бесконечно монотонной пульсации около срединного уравновешенного состояния к последовательным полноценным перемещениям и двигательному творчеству в целом.
Источником подобных взаимодействий между СУП и СКВ вновь явятся резонансы – совпадения соответствующих модальностей колебаний СУП и струнной структуры (линейно-последовательного взаимодействия множества пузырьков) — в первом макрослучае, а затем и с собственными колебаниями микропузырьков — во втором микрослучае.
В первом случае они приводят к мизерным отклонениям от правильной кубической формы распространения импульсов в виде малейших расхождений-схождений вместо строгих параллелей и прямых углов. В результате возникает множество равномерно распределённых областей — струнных топологических ниш тороидальной и овально-сферической форм. Во втором случае те же резонансные явления СУП микроскопической модальности — частоты, совпавшие с собственной частотой микропузырьков в симплексах, приводят к их расщеплению на фрагменты, выворачиванию последних наизнанку и новому сшиванию из них элементарных частиц. А возникшие топологические ниши начинают служить для последних руслом последующих потоков движения материи и его ускорителем.
Научно-познавательный потенциал теоретически установленных процессов расщепления во втором микрослучае настолько огромен, что позволяет естественным образом объяснить возникновения многих свойств мироздания, относительно которых у современной науки до сего дня не было глубинного представления. В этой связи уместно отметить, что фрагменты оболочки покрываются микроскопическими волокнами движения, как во фронтальном, так и в латеральном направлениях. На языке физики они получили название электромагнитных сил, а фрагменты оболочки – кварков. Представляет интерес то, что взаимодействия полученных топологических оснований закономерно разводятся по двум линиям развития: преимущественно центробежной и центростремительной. Одни дробные фрагменты материи, циклически изгибаясь в двух взаимно перпендикулярных плоскостях, уклоняются от свёртывания и образования локального центра движения. Тем самым они вписываются в СУП, что выражается их перемещением в нём прямолинейно и с постоянной скоростью. Другие фрагменты, благодаря боковым магнитным силовым линиям, могут быть подобно футбольному мячу сшиты из разного количества «лоскутков», Они могут свернуться с уже «вывернутой» оболочкой, с центром, ориентированным вовне. К первому варианту относятся всевозможные излучения и фотоны; ко второму – элементарные частицы. В дальнейшем между ними развёртываются новые уровни срединных проявлений, более тонкие сочетания и согласования центростремительных и центробежных тенденций. Они закладывают начало вещественной формы материи, и начинается долгая дорога к возвращению пограничной зоны в исходное, обобщённое и закрытое состояние.
Иными словами, внутри отмеченных топологических ниш начинает «завариваться» каша движения – вещественная форма материи, совершенно отличная от импульсных, эстафетных форм передачи движений. У вещественных тел появляется возможность сочетать разновидности движения самым разным образом. Открывается эра созидания и обобщения центров движения, поиск эпицентров — вначале галактических, а затем и вселенского.
Для такого понимания надо знать, что вне окружающей среды, без периферии, центры не определяются и не имеют смысла. Причиной этого является неисчезающее противостояние между центральной областью проявления материи и её периферией, что связано с необходимостью согласований как с одной полярностью, так и противоположной, как с радиальными, так и сферическими разновидностями движений. То есть центр оказывается связанным с проблемой выдерживания срединного состояния материи (ССМ). Он вынужден флуктуировать, приобретая то свёрнутую, встроенную структуру, то рядоположное развёрнутое состояние и их взаимные переходы. Следовательно, функции центров переходят от одних структурных элементов к другим, от вещественной формы движения к невещественной и обратно.
Условиями перехода от одного структурного строения центра (свёрнутого на себя) к другому (обращённому вовне) выступает глубокая декомпозиция сначала в эмбрионе Вселенной, а затем и у цельных микропузырьков. Наступает эра полицентризма и становится актуальным поиск нового принципа сборки. В этом случае точки роста перемещаются в систему связей соотношений полярностей. Отход от эпицентра эмбрионального состояния материи в пользу сетевых – СУП и СКВ, приводит к новому универсализму. Последние, накинув крупную сеть топологических ниш, создают условия для становления новых типов вещественных центров, обращенных наружу и обладающих огромным потенциалом «валентности». Данный тип совместных центров вещественно-невещественных взаимодействий способен осваивать и комбинировать радиально-концентрическими разновидностями движения, не прирастая и не сливаясь с ними, а многократно наслаиваясь во множестве очагов, исполняя тем самым структурные и регуляторные генетические функции.

Десятый топологический комментарий

. Упомянутые выше вещественные образования разворачиваются внутри топологических ниш невещественной формы. Поэтому отмеченный феномен обьёмно-диффузного взаимодействия указанных структур материи и конкретные множественные проявления со стороны микро- и макро- позволяют продемонстрировать, как минимум, два момента внешне-внутренних, вещественно-невещественных трансформаций топологической среды. Это универсальный принцип топологических преобразований: ведь своё феноменологическое существование это явление получает лишь потому, что обнаруживает свою многоочаговость, фронтальность и поточность, упругость и согласованность преобразований. Каждое топологическое новообразование проявляет себя лишь во взаимодействии со всеми другими соотношениями полярностей. При этом суждения об одновременности и последовательности событий во Вселенной, приводимые в русле различных интерпретаций теории относительности, полезны, если учитывать предварительную выработку устойчивого всеобщего СКВ и множества (миллиардов и даже десятков миллиардов) соответствующих тороидальных и сферически-овальных пазух. И лишь в них могут согласованно, одновременно широким потоком идти, а также поэтапно осуществляться локальные вещественные преобразования. В каждой такой пазухе развёртывается по галактике.
Естественным образом напрашивается реализация множественности областей структурирования и одновременности начала выстраивания собственно вещественных новообразований. Именно вследствие подобного обстоятельства и возникает проблема обеспечения этапно-структурной одновременности и необходимость соотнесения событий в потоке. Нетривиальное объяснение данного топологического феномена, скорее всего, состоит в том, что все макроочаги вещественных новообразований во множестве топологических ниш в равных условиях начинают складываться из одинаковых микропроцессов, поэтапно происходящих по всему потоку преобразований. И в этом смысле у всех макропроцессов и вещественных образований имеет место один источник (базис, эталон, мера) и единый темп. Это в общем-то и подтверждается снимками с орбитального телескопа Хаббл (Hubble Deep Field), специально сделанных с целью выявления наиболее удалённых объектов Вселенной. Астрономы увидели на этих снимках множество одинаковых галактик. Чем это можно объяснить? Струнному каркасу Вселенной позволяется исполнять функцию крупноблочного интегратора-обобщителя пограничной зоны и поэтапного согласователя проявлений вещественных новообразований. Иными словами, изменения состояний в кластерах идут строго поэтапно и закономерно. В других галактиках ничего неизвестного не происходит, поэтому для нас они имеют лишь познавательно-теоретический интерес, относящийся к глобальным трансформациям в совокупности.
Для большей убедительности приоткроем механизм надзора со стороны макровзаимодействий, точнее, самоорганизации материи. Так, после начального проявления вещественной формы движения материи на микро- и мезоуровнях, СУП и СКВ далее приступают к макромасштабному воздействию на первых из них. Средство у них есть лишь одно – вновь вовлечь их в радиальные и концентрические разновидности движения на новом уровне. Но каким путём крупномасштабным галактическим объединениям материи можно придать эти разновидности движения? Ведь уже возникло великое множество макроскопических галактических вещественных образований, располагаются они в разных плоскостях и разбросаны по всему объёму огромной Вселенной. Как же привести всё это огромное хозяйство к общему знаменателю?! Но материя и в данном крупномасштабном случае находит, как всегда, мудрое решение. Конкретно, макрорадиальная разновидность начинает проявляться массовым, направленным во все стороны фронтальным перемещением абсолютного большинства галактик и их скоплением на периферии Вселенной. При этом СУП и СКВ, придавая радиальным движениям плавные боковые искривления, включают тем самым элементы закручивания. И огромная совокупность галактик, ускоренно удаляясь на периферию Вселенной, актуализирует уже не просто центр, а эпицентр коллективных центробежных движений. А начальные элементы повсеместного смещения радиальных траекторий по мере удаления от центра свидетельствуют о зарождении концентрических разновидностей движения вокруг того же эпицентра. При этом, учитывая и осуществляющиеся многочисленные наслоения на них СУП, пограничная зона начинает сворачиваться и предстаёт достаточно плотно упакованными, многослойно встроенными траекториями движения вещественных тел. Естественно, объём Вселенной при этом постепенно сжимается, сами вещественные тела соответственно сближаются, радиусы и промежутки между прослойками уменьшаются, но частота коллективного вращения будет лишь нарастать. Совокупно всё это можно будет назвать центростремительным движением материи. Пограничная зона вновь вернётся в свою обобщённую и закрытую форму, а материя – в эмбриональное состояние.
Крайне любопытной представляется в этой связи реализация вещественной формой материи, находящейся в тисках между СУП и СКВ, вначале центробежной, а далее центростремительной тенденций. И данные преобразования материи в открытой фазе можно сопоставить с одним полным циклом центробежно-центростремительной пульсации закрытой фазы (эмбриона Вселенной). К сожалению, наблюдаемое ныне центробежное движение галактик на периферию Вселенной было интерпретировано астрофизиками как ускоренное расширение самой Вселенной. Поэтому возникла печальная теория конца Вселенной, без перспектив закономерной смены данной тенденции центростремительной.

Заключение.

Таким образом, исходная обобщённо-встроенная пульсация эмбриона преобразуется вначале в пульсацию СУП, а часть передаётся в СКВ (так называемое реликтовое излучение). Однако основной диапазон пульсаций реализуется вещественной формой движения во множестве последовательно-надстраивающихся гармоник, вновь возвращая материю в эмбриональное состояние.
В этой связи введение понятия «срединное состояние материи» в качестве всеобщей системы отсчёта следует признать не просто обоснованным и приоритетным, но единственно возможным. Дело в том, что вначале ритмичные колебания эмбриона Вселенной, далее дробных фрагментов и составных частиц и тел, а также все последующие согласованные изменения их суммарного движения происходят относительно срединного состояния материи, в рамках строго определённых этапно-уровневых переходов — от состояния прошлого в состояние будущего. А затем вновь происходит возврат в прошлое. Поэтому не удаётся измерить количество идентичных циклических процессов внутри оболочек (прослоек), чтобы умножить их на длительность каждого цикла с целью определения общего возраста движений. Более того, это не имеет смысла. Они, составляя некие промежутки времени, могут быть квалифицированы как движения, циклически стационарные. Устойчиво повторяющиеся в сферических прослойках движения можно идентифицировать с концентрической компонентой времени. А циклические переходы из одного концентра в другой могут быть идентифицированы с радиальными составляющими времени. Отсюда следует, что время и пространство взаимосвязаны, они переходят друг в друга! И самое главное – они, как базовые характеристики взаимодействия топологических устремлений, существовали исходно, но только в закрытой и обобщённой форме. Существуют они и ныне — теперь уже в открытой и развёрнутой форме.
Это означает, что изначально макроскопический эмбрион Вселенной мог позволить себе лишь внутренние пульсации материального движения. Актуализация напряжения в нём шла крупными, радиально-концентрическими, расходящимися и сходящимися волнами, в которых невозможно было ещё выделить ни отдельные концентры, ни конкретные радиальные направления. Пространство и Время были тогда идентичны и совпадали. Но как только эмбрион Вселенной рассыпался на великое множество микропузырьков, то тут же распались на части и исходные Время и Пространство. А это повлекло за собой возникновение множества локальных дискретных проявлений времени в мизерных пузырьках со вполне определёнными радиусами и возникновение огромного аморфного пространства будущих взаимодействий этих пузырьков.
Итак, пространство — время материи – это две стороны одной медали. Пространство есть внешняя сторона, время – внутренняя сторона взаимодействий материальных объектов. Как только нечто устанавливает устойчивое взаимодействие элементов, оно тут же обволакивается соответствующей оболочкой и предстаёт для внешней, относительно данной пограничной зоны области, укрепившимся пространственным новообразованием, имеющим вполне определённые форму и размеры.
А внутренние циклические изменения, внутреннее движение данного образования – это есть время. Оно свёрнуто, закольцовано, замкнуто в покоящейся пространственной оболочке. А далее разворачивается новый цикл пространственно-временных взаимодействий вновь возникших новообразований в виде внешне-внутренних надстроек или встроек и встречных движений элементов среды.
Благодаря этому упомянутое выше срединное состояние пограничной зоны имеет место и определяется на многих уровнях мироздания. На этой базе возможно возведение поуровневых систем отсчёта, относительно которых можно представить усложняющееся разнообразие движения, включая и биосоциальные его формы. В итоге одновременно существуют и взаимодействуют несколько вложенных или надстроенных друг над другом пространств и столько же циферблатов времени. Сказанное означает лишь то, что на одном и том же «пятачке» Вселенной наблюдаются и квантовые процессы, и электромагнитные явления, и гравитационные взаимодействия вполне оформленных неорганических тел, и химико-молекулярные процессы в растительном и животном мирах, а также социально-интеллектуальные события – в человеческой популяции. Происходит наложение временных параметров этапных процессов и появляется возможность их сопоставительного анализа, после чего можно измерять длительность одних этапных процессов длительностью других. То есть время можно считать и параметром в уравнениях движения, и средством хронологического упорядочивания событий.
В представленном сочетании времени с пространством в виде многослойного «сэндвича» или привычного для нашего менталитета образа матрёшки, связанного с послойными изменениями и переходами извне-вовнутрь и обратно, учёным оставлена возможность сделать последний шаг и признать время физической сущностью. Ключом эволюции Вселенной является именно время, которое должно быть увязано с поэтапным строительством и вектором самоорганизации материи, что принято называть стрелой времени.
Вышеотмеченные умозаключения придают нам уверенность в их истинности, ибо укладываются в то же направление, в котором в последние десятилетия своей жизни работал А.Эйнштейн. Известно, что он пытался создать единую теорию поля, которая должна была «уничтожить» не только энергию, но и саму материю, оставив вместо неё лишь сложным образом искривлённое пространство-время. Сама же загадка пространства-времени разрешается, как показано выше, очень просто: нужно представить предполагаемые учёными искривления наполненными формообразованиями по типу матрёшки, завершёнными замкнутыми оболочками и последующими наслоениями. При этом сам процесс искривления должен исследоваться не относительно одной поверхности, как предполагалось этими учёными, а относительно нескольких взаимно перпендикулярных поверхностей, которых ровно три. Поскольку распределение меры искривлений на отмеченные плоскости приводит к соответствующему разложению соотношений конечного-бесконечного, они тем самым становятся неизменными структурными частями, формообразующими основаниями и условиями для установления равномерности и равновесия преобразований среды, архитекторами перевода порядка из одного вида в другое и обратно. То есть основаниями и условиями для начала законов Природы. Они определяют трехмерность бытия всего сущего.
По мере структурного развития срединных новообразований страницы открытой посередине книги о Вселенной переворачиваются, меняют кратность прослоек, меру обобщения в них и общую кривизну полярных выражений. Отвоёвывая последовательно один слой за другим, они осуществляют перевод внешних взаимодействий во внутренние. И этот процесс будет идти до тех пор, пока не захлопнется последняя страница книги о Вселенной. Указанный в начале статьи эмбрион Вселенной является топологической фигурой, одновременно исходной и завершающей круг преобразований материи.
Итак, материя планомерно развёртывается в процессе неоднократного деления эмбриона Вселенной пополам. И уже в продуктах его деления заключается идея взаимного отражения и уравнивания. А в поэтапном свёртывании содержится идея существования различных уровней самоорганизации и форм отражения. И, тем не менее, это уровни единого процесса, единого целого, обнаруживающего себя в качественно разных формах – в неживой природе, в мире растений, в мире животных, и, наконец, в человеке.
Завершая, отметим, методология космогенеза – вещь немилосердная. И при столкновении на одном поле двух теорий торжествует та, методология которой оказывается плодотворнее. Поэтому теория, не дающая определения первоначального состояния Вселенной, не может считаться полным описанием физической реальности.

Статья написана по материалам книг автора: Теория всего сущего. – Канада, Altaspera. — 2012. -352 с. (издана на русском и английском языках); Социогеном – Образованный человек – Вселенная. – М.: Народное образование. — 2017. – 368 с.
Сведения об авторе: Терегулов Филарит Шарифович, доктор педагогических наук, профессор.
Е-mail: terfil@yandex.ru


ссылка на оригинал статьи https://habr.com/post/424837/