Математические модели и алгоритмы обработки информации для управления системой восстановления двигательной активности человека тема диссертации и автореферата по ВАК РФ 05.13.14, кандидат технических наук Овсяницкая, Лариса Юрьевна
- Специальность ВАК РФ05.13.14
- Количество страниц 209
Оглавление диссертации кандидат технических наук Овсяницкая, Лариса Юрьевна
ПЕРЕЧЕНЬ СОКРАЩЕНИЙ.
0. ВВЕДЕНИЕ.
0.1. Формулировка проблемы и ее актуальность.
0.2. Медицинские аспекты создания системы.
0.3. Обзор предшествующих работ.
0.4. Принципиальное решение задачи.
0.5. Цель и задачи работы.
0.6. Научная новизна и практическая значимость работы.
0.7. Апробация работы, публикации, внедрения.
0.8. Структура и объем диссертации.
1. ФОРМАЛИЗАЦИЯ МЕТОДИК ЛЕЧЕБНОЙ ФИЗКУЛЬТУРЫ.
ОСНОВНЫЕ РЕЗУЛЬТАТЫ ПЕРВОГО РАЗДЕЛА.
2. МАТЕМАТИЧЕСКИЕ МОДЕЛИ И АЛГОРИТМЫ ДЛЯ ЗАДАЧ КИНЕМАТИЧЕСКОГО АНАЛИЗА СВДАЧ.
2.1. Постановка задачи. Системы координат.
2.2. Ориентации систем координат.
2.3. Угловые скорости и ускорения ЧТЧ.
2.4. Координаты точек ЧТЧ.
2.5. Скорости точек ЧТЧ.
2.6. Ускорения точек ЧТЧ.
ОСНОВНЫЕ РЕЗУЛЬТАТЫ ВТОРОГО РАЗДЕЛА.
3. МАТЕМАТИЧЕСКАЯ МОДЕЛЬ И АЛГОРИТМЫ ДИНАМИЧЕСКОГО АНАЛИЗА ПРИВОДА СВДАЧ.
3.1. Постановка задачи.
3.2. Векторные уравнения.
3.3. Ориентация тел.
3.4. Векторные кинематические уравнения.
3.5. Скалярные уравнения.
3.6. Определение реакций в суставах.
3.7. Приведение уравнений к нормальной форме.
3.8. Алгоритм решения задачи.
ОСНОВНЫЕ РЕЗУЛЬТАТЫ ТРЕТЬЕГО РАЗДЕЛА.
4. СИНТЕЗ УПРАВЛЕНИЯ ПРИВОДОМ СВДАЧ.
4.1. Постановка задачи.
4.2. Методы решения задачи.
4.3. Математическая модель метода динамического программирования.
4.4. Мощность привода блока.
4.5. Алгоритм определения управляющих сил и мощности привода.
ОСНОВНЫЕ РЕЗУЛЬТАТЫ ЧЕТВЕРТОГО РАЗДЕЛА.
5. АНАЛИЗ ТОЧНОСТИ РЕАЛИЗАЦИИ ДВИЖЕНИЙ.
5.1. Кинематический анализ движения конечности человека.
5.2. Анализ и синтез точности кинематических параметров.
5.3. Анализ точности динамических параметров конечности человека.
ОСНОВНЫЕ РЕЗУЛЬТАТЫ ПЯТОГО РАЗДЕЛА.
6. ПРОГРАММНО-АППАРАТНЫЙ КОМПЛЕКС ОПРЕДЕЛЕНИЯ
ПОЛОЖЕНИЯ КОНЕЧНОСТИ ЧЕЛОВЕКА.
ОСНОВНЫЕ РЕЗУЛЬТАТЫ ШЕСТОГО РАЗДЕЛА.
Рекомендованный список диссертаций по специальности «Системы обработки информации и управления», 05.13.14 шифр ВАК
Скоростно-силовые свойства мышц человека при спортивных локомоциях2004 год, доктор биологических наук Воронов, Андрей Владимирович
Идентификация механических характеристик моделей мышц по результатам упражнений на тренажерах2007 год, кандидат технических наук Грязева, Елена Дмитриевна
Управление шестистепенной платформой для воспроизводства траекторных полигонных полей в условиях стендовых испытаний навигационно-геоинформационных комплексов2012 год, кандидат технических наук Букин, Артем Геннадьевич
Задачи определения ориентации и управления угловым движением твердого тела: Космического аппарата2005 год, кандидат физико-математических наук Бирюков, Вячеслав Геннадиевич
Математическое моделирование в проблеме обеспечения точности движения и позиционирования мобильных манипуляционных роботов2005 год, доктор технических наук Лукьянов, Андрей Анатольевич
Введение диссертации (часть автореферата) на тему «Математические модели и алгоритмы обработки информации для управления системой восстановления двигательной активности человека»
0.1. Формулировка проблемы и ее актуальность
Проблемы лечения детского церебрального паралича (ДЦП) физиотерапевтическими методами в последнее время приобретают особую актуальность. Полному излечению это заболевание не подлежит, однако, при правильно и своевременно поставленном диагнозе, весьма эффективным средством является лечебная физкультура (ЛФК).
Анализируя комплексы упражнений, входящих в различные методики ЛФК, можно прийти к выводу о том, что целью комплексов является стремление достичь одновременности выполнения всех движений. Это вызвано тем, что ЛФК должна способствовать нормальному развитию ребенка, а здоровый ребенок никогда не выполняет изолированные движения. Медицинский работник, проводя комплекс упражнений, способен лишь последовательно тренировать отдельные движения. Однако, при неточностях выполнения методики, это не только не способствуют развитию общей двигательной активности, но и может закрепить патологический тип движения.
Поэтому является актуальной проблема создания такой технической системы, которая, имитируя движения здорового ребенка, обеспечивала бы одновременно заданное количество принудительных движений частей тела человека (ЧТЧ) в соответствии с предписанными ему методиками ЛФК. Система представляет собой комплексный тренажер с программным управлением, предназначенный для изменения углового положения конечностей и, тем самым, отработки определенной методики ЛФК. Движение каждой конечности человека описывается математическими моделями и разработанными на их основе алгоритмами и программами независимо. Одновременная реализация необходимых движений обеспечивает комплексное функционирование системы.
Набор комплексов упражнений представляет собой априорную информацию, хранящуюся в памяти компьютера. Эта информация, будучи обработана по специальным алгоритмам, позволяет вычислить ту или иную кинематическую и динамическую характеристику, а также величину погрешности, с точностью до которой должны реализовываться программные движения частей тела человека и значения сил реакций в суставах.
Таким образом, разрабатываемая система позволит обеспечить проведение комплекса упражнений, способствующих более гармоничному развитию двигательной активности ребенка и уменьшить неблагоприятные последствия заболевания.
Об актуальности работы может также свидетельствовать поддержка ее грантом «Университеты России - фундаментальные исследования».
0.2. Медицинские аспекты создания системы
ДЦП - собирательный термин, объединяющий группу непрогрессирующих неврологических расстройств, возникших в результате недоразвития или повреждения мозга в раннем онтогенезе, и проявляющиеся неспособностью сохранять нормальную позу и выполнять произвольные движения. Эта патология занимает одно из ведущих мест в структуре заболеваемости нервной системы у детей. Выраженные двигательные, речевые и психические нарушения трудно поддаются коррекции и нередко служат причиной тяжелой инвалидности.
Движения человека развиваются на протяжении довольно длительного времени и проходят ряд последовательных этапов, начиная от рефлекторных движений новорожденного до координированной произвольной двигательной активности, которая может совершенствоваться, не ограничиваясь какими-то пределами. Мастерство танцора, скорость бегуна, виртуозная игра пианиста -примеры огромных потенциальных резервов двигательных функций.
Последовательность формирования движений и позы человека определяется генетической программой развития, однако, сроки и темпы их становления в большой степени зависят от воздействия средовых факторов, прежде всего от целенаправленной тренировки функций.
Даже для выполнения простых движений необходимо взаимодействие многих сложных автоматических систем нервной регуляции и управления. Любая реакция - это результат сложной переработки информации, координированного участия различных интегративных уровней. В коре мозга осуществляется сложная аналитико-синтезирующая деятельность по переработке информации, поступающей от различных функциональных систем всего организма, образование связей, позволяющих закрепить индивидуальный опыт.
Между вышележащими и нижележащими отделами нервной системы постоянно циркулируют импульсы, благодаря которым производимое движение сличается с запланированным и корригируется. Обратная связь обеспечивает саморегуляцию системы при отклонениях ее в ту или другую сторону от заданной программы [4].
При ДЦП в результате поражения мозга на ранних этапах онтогенеза дезорганизованы мозговые механизмы, направленные на координированную работу мышц, ответственных за поддержание позы, равновесия и выполнение целенаправленных движений [58].
Лечение ДЦП должно быть ранним, комплексным и непрерывным. Необходимость раннего лечения обусловлена большой пластичностью и способностью к адаптации мозга ребенка в первые годы жизни. Направленная тренировка различных навыков наиболее эффективна в период бурного становления двигательных, речевых и психических функций (до 3-х лет).
Необходимость ранней выработки нормальных поз и движений связана также с тем, что с первых недель жизни движения активизируются мощной афферентной стимуляцией. Импульсы поступают в нервную систему через экстерорецепторы (зрение, слух, обоняние, осязание) и проприорецепторы мышцы, связки, суставы). Обучение движениям идет параллельно приобретению сенсорного опыта и полностью зависит от него. Здоровый ребенок приобретает сенсорно-моторный опыт очень рано: вначале в примитивных, а затем и в более сложных позах и движениях. Ребенок с ДЦП получает через свои проприорецепторы ощущение только патологического мышечного тонуса, патологических поз и движений. Он чувствует чрезмерное напряжение при попытке любых целенаправленных движений, т.е. его сенсорный опыт уже с раннего возраста является патологическим. В дальнейшем это способствует выработке патологических двигательных образцов [57].
При тренировке двигательных функций необходимо соблюдать принцип онтогенетической последовательности. Не следует стремиться достичь совершенства одной функции прежде, чем перейти к стимуляции другой, поскольку и при нормальном развитии переход к более сложному виду активности начинается раньше, чем предыдущий достигает совершенства. Например, научившись поворачиваться на бок, ребенок пытается садиться, не доведя движения поворота на бок до совершенства. Научившись садиться, ребенок делает попытки встать, совсем не доведя предыдущее движение до идеала.
Начиная с рождения, нужно тренировать все виды активности вплоть до стояния и ходьбы, во время занятий стремиться моделировать динамическую последовательность движений на разных уровнях развития. Не следует длительно отрабатывать изолированные движения, особенно если ребенок не способен выполнить их с нормальной координацией. Это закрепляет патологический тип движения и не способствует развитию общей двигательной активности, ведь у здорового ребенка при любых движениях задействованы практически все мышцы.
Движения ребенка можно разделить на активные и пассивные. Движения, выполняемые самим ребенком-активные, выполняемые методистом-пас-сивные. Пассивные движения способствуют выработке кинестетических и зрительных ощущений схемы движения. Зрительное и эмоциональное восприягие многократно повторяемых движений приводит к закреплению их образов в нервной системе и возможности дальнейшего активного повторения [4].
0.3. Обзор предшествующих работ
Задел для решения проблемы начал создаваться с конца 50-х годов. Существенный вклад в создание тренажеров внесли А.Е. Штеренгерц и К.А. Семенова [58,7/ ]. В середине 70-х годов в кабинетах ЛФК г. Риги работала автоматическая система, позволяющая механически воздействовать на конечность человека [10]. Однако, данная система имела возможность реализовывать только те движения, которые в данный момент выполняли либо здоровый человек, либо здоровая конечность. В нашей работе, согласно постановке задачи, необходимо отрабатывать движения, заданные тем или иным способом заранее.
В [53] дана классификация групп тренажеров: имитационные, равновесия и координации, силовые, массирующие. Задача же тренажера с программным управлением - комбинировать указанные выше отдельные функции и, таким образом, оказывать комплексное воздействие на больного. В дальнейшем, при задании управляющих воздействий, мы анализируем потребности и программируем тренажер на необходимую группу (группы) воздействий. Кроме того, отличительная особенность биомеханической стимуляции - возможность измерять мощность и, следовательно, дозировать упражнения ЛФК. Статистические данные, приведенные в [16], иллюстрируют положительный эффект лечения с помощью частичного применения биоуправления. Данные приведены на основе исследований, проводимых в детском психоневрологическом санатории «Комарово».
В работах [26,28] рассмотрены вопросы динамики управляемых объектов с точки зрения описания движения, достигающего цели управления в условиях обстановки, изменяющейся непредсказуемым образом; движения, которые могут приспосабливаться к обстановке. Подробно рассмотрены проблемы анализа ситуаций, поведения системы управления в неожиданной обстановке при изменении некоторых параметров, а также вопросы поиска решений при возникновении неполадок в системе управления. Согласно нашей задаче, объектом управления является человек. Поэтому, при отклонении параметров состояния система должна моментально реагировать уменьшением нагрузки на пациента вплоть до полной остановки.
Известны работы в области разработки манипуляционных систем Г.С. Черноруцкого, B.C. Жабреева, А.И. Телегина, Ю.И. Мелентьева [38,69]. Предлагаемая система является имитатором движения, по своему назначению и конструкции адаптированной к медицинским целям.
Способы формализации и описания многозвенных систем в пространстве рассмотрены в [60]. В качестве примера описана кинематическая схема руки человека, состоящая из 4-х твердых тел (корпус, плечо, предплечье, кисть). Рассмотрена биомеханическая модель человека, имеющая 34 степени свободы. Модель условно разбита на 5 ветвей: нижняя часть туловища, бедро, голень, стопа; верхняя часть туловища, голова, плечо, предплечье. Проанализированы возможные движения звеньев. Однако, при разработке системы необходимо знание кинематических параметров звеньев относительно основания в каждый момент времени. То есть, необходимо введение единообразных индексов при обозначении всех звеньев и ветвей.
Материал, касающийся пространственного движения руки человека изложен в [27]. В качестве модели при составлении кинематических уравнений взята шестизвенная цепь, в качестве модели при составлении уравнений динамики - трехзвенная цепь. Подробно рассмотрены вопросы приспособляемости движения с учетом программирования пространственного движения системы «глаз-рука». Приведенные динамические модели не предусматривают расширения трехзвенных цепей до
Н-звенных для решения задач по определению реакции в суставах, что необходимо в соответствии с постановкой задачи.
Вариант системы, предназначенной для решения задачи идентификации - определение массогеометрических показателей, рассмотрен в [39]. Данное устройство показывает принципы экспериментального определения характеристик реакций суставов. Однако, анализ и получение результата распространяется только на вращательное движение двухзвенной модели, что неприемлемо для создания тренажера, отрабатывающего естественные движения человека. Предлагаемый ниже способ позволит определить значения сил реакций в суставах при произвольных движениях Ы-звенных цепей.
0.4. Принципиальное решение задачи
Можно отметить, что разрабатываемый способ и устройство относятся к области реабилитационной медицины и предназначены для лечения пациента с установленным диагнозом ДЦП или иными нарушениями двигательных функций, допускающих механическую стимуляцию мышц при условии измерения объективной информации о его физиологическом состоянии. Сущность способа заключается в установке головы, туловища, конечностей в начальное положение и в создании принудительных программных движений конечностей с одновременными измерениями параметров физиологического состояния больного, сравнением измеренных параметров с соответствующими допустимыми значениями этих параметров, формированием сигналов управления движений. Для осуществления более эффективного лечебного действия на больного, режимы программных движений возможно изменять в зависимости от физиологического состояния либо в сторону усиления интенсивности движений, либо в сторону ослабления.
Согласно предлагаемому способу, в основу создания реализующего устройства положены следующие принципы [82]:
1. Устройство должно автоматически реализовывать движения конечностей пациента согласно современным методикам ЛФК.
2. Устройство должно иметь надежную систему предохранения от нежелательных режимов работы при отказах каких-либо цепей управления или при механических повреждениях конструкции и при этом не травмировать пациента и не изменять параметры внешней среды.
3. Устройство должно иметь обратную связь по физиологическим параметрам, позволяющую мгновенно реагировать на любые изменения функциональных показателей.
4. Устройство должно удовлетворять современным требованиям, предъявляемым к медицинской технике (стерильность и др.).
Исходя из перечисленных пунктов, предлагается следующее схемное решение.
Функциональная схема СВДАЧ приведена на рис. 0.1. Блоки, разработанные в диссертации, выделены пунктирной линией. В целом СВДАЧ включает: основание (1), приводы (2), устройство управления приводами (3), приспособления для фиксации ЧТЧ (4), датчики физиологического состояния (5) и угловых перемещений (6), компьютер (7), осуществляющий координацию и управление системой. Особенностью предлагаемого способа является реализация захватного типа движений. Привод фиксируется на теле человека в особых контрольных точках, исходя из физиологических особенностей организма, а конструкция привода, выполненная в виде надувных деформируемых элементов, обладает податливостью в той степени, которая обеспечивает травмо-безопасность пациента. Это позволяет использовать СВДАЧ для детей, начиная с раннего возраста.
Рабочей средой для надувания всех элементов конструкции служит воздух, поступающий от компрессора (9). Управление потоками воздуха осуществляется с помощью распределителей (10) от блока управления, которым руобработки формализации .меюшжЛЖ.
ГшраОо^ка.информадаи I' ¿С даГ'ШКОЗ угЛОВЫХ .;./.::! йерёмщряйя дальненг.епшй алалт
Анализ гот юс I и реалнипш!
Рис. 0.1. Функциональная схема СВДАЧ ководит компьютер. Датчики физиологического состояния служат для организации обратной связи по самочувствию пациента, датчики угловых перемещений используются при снятии информации во время задания методистом образцовых движений и при контроле положения конечности во время выполнения упражнений.
Исполнительные устройства привода установлены на жестком основании. Приведен пример приложения сил Р!", Pj, Р/, /f, Р2к4, Ff~* в точках Dj, и Dk-i. Силы изменяются по величине, а направления их действий всегда параллельны соответствующим координатным осям. Таким образом, суммарный вектор силового воздействия изменяется по величине и направлению. В работе разработаны математические модели и алгоритмы, в которых параметры и функции искомых точек захвата определяются относительно неподвижного основания.
0.5. Цель и задачи работы
Цель работы: создание математического, алгоритмического и программного обеспечения обработки информации для управления системой восстановления двигательной активности человека. Из цели вытекают следующие задачи.
1. Определение способов обработки данных для формализации методик ЛФК.
2. Разработка математических моделей, алгоритмического и программного обеспечения для задачи кинематического анализа СВДАЧ - определение зависимостей изменения координат, скоростей и ускорений точек захвата во времени, при которых реализуются требуемые законы изменения углов поворотов ЧТЧ.
3. Разработка математических моделей, алгоритмов и программ для задачи динамического анализа и синтеза СВДАЧ, позволяющих вычислять необходимые характеристики и законы изменения величин управляющих сил, приложенных в точках захвата, при которых реализуются требуемые законы изменения углов поворотов ЧТЧ во времени.
4. Определение точностных параметров реализации движений.
5. Создание устройства для экспериментального определения положения конечности человека в пространстве и перевода реальных движений в формализованное описание.
0.6. Научная новизна и практическая значимость работы
Научная новизна. Разработаны математические модели и алгоритмы кинематического, динамического и точностного анализа СВДАЧ, позволяющие обрабатывать информацию о законах изменения углов поворота ЧТЧ во времени и на этой основе синтезировать силы для реализации заданных движений в соответствии с предписанными методиками ЛФК.
Практическая значимость.
1. Создан пакет прикладных программ для проведения численного моделирования кинематического, динамического и точностного анализа и синтеза СВДАЧ для определения законов изменения величин управляющих сил.
2. Разработан программно-аппаратный комплекс (ПАК) определения положения конечности человека в пространстве, позволяющий на основе реальных упражнений, выполняемых методистом, определять углы поворота конечности в каждый момент времени, регистрировать и проводить дальнейшую обработку информации.
0.7. Апробация работы, публикации, внедрения
Публикации. По теме диссертации опубликовано 13 работ, в том числе два учебных пособия, раздел в коллективной монографии, тезисы докладов на конференции, регистрация программы для ЭВМ в Рое А ПО. Материалы работы использованы в 3-х отчетах о НИР. Подана заявка на выдачу патента РФ на изобретение.
Основные результаты докладывались на:
- Международной конференции «Актуальные проблемы педиатрии, неотложной медицины и медицинского образования» (Челябинск, 1997);
- Уральской конференции молодых ученых «Физика в биологии и медицине» (Екатеринбург, 1998);
- Кафедре «Приборостроение» ЮУрГУ (Челябинск, 2000);
Результаты работы использую гея Федеральным государственным унитарным предприятием КБ «Медавтомa i и ка», г.Екатеринбург, при выполнения работ, связанных с международной программой «Здоровая семья» [37].
Результаты исследований используется в лекциях по курсу «Информационное обеспечение медицинских систем» в Уральской государственной медицинской академии дополнительного образования; созданный ПАК определения положения конечности человека используется на практических занятиях по дисциплине «Теория, расчет и проектирование приборов и систем» студентов 3-го курса специальности 190100, проводимых в ЮУрГУ.
0.8. Структура и объем диссертации
Диссертация состоит из аннотации, введения, 6 глав, заключения, списка литературы (92 наименования), приложения. Основной текст диссертации изложен на 144 машинописных страницах и содержит 26 рисунков и 11 таблиц; в приложение вынесено описание пакета прикладных программ, тексты исходных модулей на языке Turbo Pascal 7.0 (63 стр.) и заключения об использовании результатов диссертации.
Похожие диссертационные работы по специальности «Системы обработки информации и управления», 05.13.14 шифр ВАК
Циклоидальные манипуляторы: Основы теории1999 год, доктор технических наук Никифоров, Семен Очирович
Динамика и управление движением робототехнических систем с избыточными входами2003 год, кандидат технических наук Альван Хассан М.
Основы синтеза пространственных неэвольвентных зубчатых передач на базе цилиндрического эвольвентного исходного звена в обобщающих параметрах2005 год, доктор технических наук Цуканов, Олег Николаевич
Анализ и синтез робототехнических и мехатронных комплексов для крупнопанельного и монолитного строительства2006 год, доктор технических наук Паршин, Дмитрий Яковлевич
Режимы работы, оптимизация и управление электромеханическими комплексами главных приводов одноковшовых экскаваторов2005 год, доктор технических наук Карякин, Александр Ливиевич
Заключение диссертации по теме «Системы обработки информации и управления», Овсяницкая, Лариса Юрьевна
Результаты работы используются Федеральным государственным унитарным предприятием КБ «Медавтоматика», г.Екатеринбург, при выполнения работ, связанных с международной программой «Здоровая семья».
Результаты исследований используются в лекциях по курсу «Информационное обеспечение медицинских систем» в Уральской государственной медицинской академии дополнительного образования. ПАК определения положения конечности человека используется на практических занятиях по дисциплине «Теория, расчет и проектирование приборов и систем» студентов 3-го курса специальности 1901, проводимых в ЮУрЕУ.
ЗАКЛЮЧЕНИЕ
Предложено принципиальное схемное решение по созданию системы восстановления двигательной активности человека (СВДАЧ). Приведены методы формализации методик лечебной физкультуры для обработки словесной информации о движениях с целью аппроксимации ее зависимостями углов поворотов частей тела человека (ЧТЧ) во времени; приведены два способа построения аппроксимирующих функций в зависимости от вида имеющейся информации.
Разработаны математические модели, алгоритмы и программы для задач кинематического анализа СВДАЧ, позволяющие на основе обработанной информации о законах изменения углов поворотов ЧТЧ во времени вычислять кинематические характеристики системы: проекции векторов угловых скоростей и ускорений ЧТЧ на оси неподвижной (или подвижной) системы координат (СК); координаты контрольных точек и проекции векторов скоростей и ускорений ЧТЧ на оси неподвижной СК, при которых реализуются требуемые законы изменения углов поворотов ЧТЧ. Разработаны математические модели, алгоритмы и программы для задачи динамического анализа и синтеза СВДАЧ, позволяющие вычислять необходимые величины силовых управляющих воздействий для отработки движений, характеризуемых методиками ЛФК, а также определять силы реакций в суставах и мощность привода, обеспечивающего требуемые движения.
Проведен анализ и синтез точности реализации движений по заданным методикам ЛФК, позволяющий по имеющимся допустимым погрешностям выходных параметров (радиус-вектор, скорость и ускорение точки конечности) судить о максимально допустимых погрешностях задания входных параметров и функций (длина конечности, неточность задания исходных функций движения); полученные результаты позволяют принимать решения о точности применяемых при работе средств измерений и о точности привода.
Создан программно-аппаратный комплекс определения положения конечности человека в пространстве (ПАК), позволяющий получать информацию о положении конечности человека в пространстве, регистрировать и обрабатывать ее в режиме реального времени, а в дальнейшем анализировать обработанные результаты для принятия решения по выбору методики лечения.
Список литературы диссертационного исследования кандидат технических наук Овсяницкая, Лариса Юрьевна, 2000 год
1. Алексеев В.М., Тихомиров В.М., Фомин C.B. Оптимальное управление. -М.: Наука, 1979.-432 с.
2. Аш Ж. и др. Датчики измерительных систем. Кн.1. Пер. с франц. М.: Мир, 1962.-с. 342-398.
3. Афанасьев В.П., Колмановский В.Б., Носов В.Р. Математическая теория конструирования систем управления. М.: Высшая школа, 1998. - 574с.
4. Бадалян Л.О., Журба Л.Т., Тимонина О.В. Детские церебральные параличи-Киев:Здоровье,1988-328 с.
5. Банди Б. Методы оптимизации. Вводный курс: Пер. с англ. М.: Радио и связь, 1988. - 128 с.
6. Батков A.M. и др. Методы оптимизации в статистических задачах управления. М.: Машиностроение, 1974. - 240 с.
7. Бесекерский В.А., Попов Е.П. Теория систем автоматического регилирования. М.: Наука, 1975. - 768 с.
8. Бесекерский В.А. Цифровые автоматические системы. М.: Наука, 1976. -576 с.
9. Бессонов A.A. и др. Методы и средства идентификации динамических объектов. Л.: Энергоатомиздат, 1989. - 280 с.
10. Биомеханика. Профилактика, патогенез и лечение травм и ортопедических деформаций. Труды Рижского НИИ травматологиии и ортопедии: Выпуск XIII, Рига, 1975. И.З. Гольденштейн. Регуляция движений по заданной программе.
11. П.Болтянский В.Г., Гамкрелидзе Р.В., Понтрягин Л.С. К теории оптимальных процессов // Доклады АН СССР, т. 110, 1956, № 1.
12. Болтянский В.Г. Математические методы оптимального управления. М.: Наука, 1969.-408 с.1 '3 V5 О
13. Болтянский В.Г. Оптимальное управление дискретными системами. М.: Наука, 1973.-448 с.
14. Большая медицинская энциклопедия М.: Советская энциклопедия, 1977, Т.7.-с. 567-603.
15. Брайсон А. Прикладная теория оптимального управления: Пер. с англ. -М.: Мир, 1972. 544 с.
16. Варман Б.Г., Бортфельд С. А., Мовсиянц С. А. Опыт применения направленной двигательной коррекции в комплексном лечении ДЦП в условиях специализированного санатория: Вопросы охраны материнства и детства, Ж2, 1985, Москва, Медицина.
17. Василевский H.H., Яковлев Н.М. Системы с биорегулируемыми обратными связями в клинике. Адаптивная тренировка, компенсации и коррекции патологически измененных функций. М.Медицина, 1977.
18. Васильев Ф.П. Численные методы решения экстремальных задач. 2-е изд. -М.: Наука, 1988.- 552 с.
19. Войтенков И.Н. Методы и средства дифференциального оценивания и идентификации моделей. Киев: Наукова думка, 1989. - 2.88 с.
20. Воронов A.A. Устойчивость, управляемость, наблюдаемость. М.: Наука, 1979. - 336 с.2'¡.Воронов A.A., ред. Анализ и оптимальный синтез на ЭВМ систем управления. М.: Наука, 1984. - 344 с.
21. Гроп Д. Методы идентификации систем: Пер. с англ. М.: Мир, 1979. 304 с.
22. Егоров К.В. Основы теории автоматического регулирования. 2-е изд. -М.: Энергия, 1967. - 648 с.
23. Каталог фирмы Ohtagon System Solution. 1995 г.
24. Клинический инкубатор ICB-T41. Изготовитель: Акционерное общество электромедицинского и ри боро-строе i i и я "Медикор", г. Будапешт.
25. Коренев Г.В. Введение в механику управляемого тела. М.: Наука, 1964568 с.
26. Коренев Г.В. Введение в механику человека. М.: Наука, 1977. 263 с.
27. Коренев Г.В. Цель и приспособляемость движения. М.: Наука, 1976. - 528 с.
28. Красикова И.С. Энциклопедия массажа. С.-Петербург: Кристалл, 1996. -448 с.
29. Красовский A.A., ред. Справочник по теории автоматического управления. -М.: Наука, 1987.-712 с.
30. Круг Г.К. и др. Планирование эксперимента в задачах идентификации и экстраполяции. М.: Наука, 1977. - 208 с.
31. Лебедев А.Н. и др. Методы цифрового моделирования и идентификации стационарных случайных процессов в информационно-измерительных системах. Л.: Энергоатом-издат, 1988. - 64 с.
32. Лернер А.Н. и др. Оптимальное управление. М.: Энергия, 1970. - 360 с.
33. Лурье А.И. Аналитическая механика.-М.: Физматиз, 1961.-824 с.
34. Льюнг Д. Идентификация систем. Теория для пользователя: Пер. англ. / Под ред. ЯЗ. Цыпкина. М.: Наука, 1991. - 432 с.
35. Мастюкова Е.М. Физическое воспитание детей с ЦП. Младенчество, ранний и дошкольный возраст.-М.: Просвещение, 1991.-159с.:ил.
36. Международная программа «Здоровая семья». Бизнес план. Ред. Юсупов В.А.- Екатеринбург, КБ «Медавтоматика», 1999.
37. Мелентьев Ю.И., Телегин А.И. Динамика манипуляционных систем роботов Иркутск: Изд-во Иркут. ун-та, 1985. - 352 е., ил.
38. McLean, A.M. Ahmed. Design and Development of an Unconstrained Dynamic Knee Simulator, 1993, ASME, J. of Biomechanical Engineering, Vol 115, p. 144148.
39. Овсяницкая Л.Ю. Система биомеханической стимуляции мышц человека // Уральская конференция молодых ученых "Физика в биологии и медицине": Сб. науч. работ Екатеринбург, Уральский государственный университет, 2-4 марта 1999,-С. 40-41.
40. Перельман И.И. Оперативная идентификация объектов управления. М.: Энергоиздат, 1982. - 272 с.
41. Понтрягин Л.С. Математическая теория оптимальных процессов. М.: Наука, 1976.-392 с.46 .Попков Ю.С. и др. Идентификация и оптимизация нелинейных стохастических систем. М.: Энергия, 1976. - 440 с.
42. Розенвассер E.H., Юсупов P.M. Чувствительность систем управления. М.: Наука, 1981.-464 с.
43. Ройтенберг Я.Н. Автоматическое управление. 2-е изд. - М.: Наука, 1978. - 552 с.
44. Рубекинг Н. Турбо Паскаль для Windows. Том 1. Пер. с англ. М.; Мир, 1993.-536 с.
45. Рубекинг Н. Турбо Паскаль для Windows. Том 2. Пер. с англ. М.: Мир, 1993.-552 с.
46. Сейдж ЭЛ. и др. Оптимальное управление системами: Пер. с англ. М.:
47. Радио и связь, 1982. 392 с.
48. В.А. Сергеев, Б.В. Чижов. Использование тренажеров в лечении детей: Вопросы курортологии, физиотерапии и лечебной физкультуры, М., Медицина, №2,1993
49. Сильвестров и др. Идентификация и оптимизация автоматических систем. -М.: Энергоатомиздат, 1987. 200 с.
50. Система мониторинга физиологических функций Cardiocap TM 2. -Руководство по эксплуатации № 880900-2. Фирма Datex. Instrument Corp. P.O. Box 446, SF-00101, Helsinki Finland. 1993.
51. Сергиевский M.B., Шалашов A.B. Турбо Паскаль 7.0: Язык, Среда программирования. М.Машиностроение.-!996. -254 с.
52. Семенова К. А. Лечение двигательных расстройств при детских церебральных параличах.-М.: Медицина, 1976.-184 с.
53. Семенова К.А., Мастюкова Е.М., Смуглин М.Я. Клиника и реабилитационная терапия детских церебральных параличей.-М.: Медицина, 1972.-328 с.
54. Семенова К.А., Штеренгерц А.Е., Польский В.В. Патогенетическая восстановительная терапия больных церебральным параличем.-Киев: Здоров'я, 1986.-167 с.
55. Сиразетдинов Т.К. Методы решения многокритериальных задач синтеза технических систем. М.: Машиностроение, 1988. - 160 с.
56. B.B. Текорюс Лечение двигательных нарушений у детей с церебральным параличом: Журнал невропатологии и психиатрии им. С.С. Корсакова, том 84, М.: Медицина, 1984
57. Телегин А.И. Системы твёрдых тел. Математическое обеспечение решения задач механики и управления. Часть 1. Челябинск: ЧГТУ, 1994. - 172 с.
58. Третье измерение.: Компьютер Пресс, №1, 1998, Москва, Компьютер Пресс.
59. Ус Л.Ю. Задача анализа точности реализации движений конечностей человека для системы биомеханической стимуляции мышц человека/УЭлементы и приборы систем управления: Тем. сб. науч. тр. -Челябинск: ЧГТУ, 1996. с. 121-125.
60. Фаненштих К., Хаселир Р. Универсальная версия Windows for Workgroups 3.11: Практ. пособие / Пер. с нем. М.: ЭКОМ.,1995,- 416 с.
61. Фаронов В.В. Основы Турбо Паскаля. М.: Учебно-инженерый центр "МВТУ-ФЕСТО ДИДАКТИК", 1992. - 304 с.
62. Флеминг У. и др. Оптимальное управление детерминированными и стохастическими системами: Пер. с англ. М.: Мир, 1978. - 320 с.
63. Фрайзен П., ред. Микрокомпьютеры в физиологии. Пер. с англ. H.H. Алипова. Под ред. Б.А. Бабаяна. М.: Мир, 1990. - с. 265 - 268.
64. Черноруцкий Г.С., Сибрин А.П., Жабреев B.C. Следящие системы автоматических манипуляторов / Под ред. Г.С. Черноруцкого- М.: Наука, гл. ред. физ.-мат. лит., 1987. 272 с. - (Научные основы робототехники).
65. Штейнберг Ш.Е. Идентификация в системах управления. М.: Энергоатомиздат, 1987. - 80 с.71 .Штеренгерц А.Е. Лечебная физкультура и массаж при заболеваниях и травмах нервной системы у детей Киев: Здоров'я, 1989. 186 с.
66. Щипицын А.Г. Обработка информации в инерциальных навигационных системах-Челябинск. ЧГТУ, 1995, 4.1.-196 с.
67. Щипицын А.Г., Коваленко В.В. и др. К разработке математической модели движения частей тела новорожденного на основе методики лечебной физкультуры-Рукопись предст. Челяб. гос. техн.ун м. Деп. в ВИНИТИ 6.09.95 N2351-B95.-33c.
68. Щипицын А.Г., Овсяницкая Л.Ю. Математическая модель, алгоритмы и программа динамического анализа привода блока системы биомеханической стимуляции мышц человека. Рукопись предст. Юж. -Уральским ун-м. Деп. в ВИНИТИ 06.09.99 N 2777-В99.-27с.
69. Щипицын А.Г., Овсяницкая Л.Ю. Математическая модель, алгоритмы и программа синтеза управления приводом блока системы биомеханическойстимуляции мышц человека. Рукопись предст. Юж. -Уральским ун-м. Деп. в ВИНИТИ 15.10.99 Ж3091-В99.-9 с.
70. Щипицын А.Г., Овсяницкая Л.Ю., Чернецкая И.В. Система биомеханической стимуляции мышц человека (динамический синтез):Учебное пособие. Челябинск:Изд-во ЮурГУ, 1998. - 142с.
71. Щипицын А.Г., Овсяницкая Л.Ю., Чернецкая И.В. Синтез системы биомеханической стимуляции мышц человека для лечения церебрального паралича. Рек.-тех. описание по теме № 0098139 (грант "Университеты России"), № гос.рег. 01.980006976, инв. № 02.990003864.
72. Щиттиттын А.Г., Ус Л.Ю. К задаче кинематического анализа системы двух шарнирно связанных тел. -Рукопись предст. Челяб. гос. техн.ун-м. Деп. в ВИНИТИ 12.06.96 N 1202-В96-23с.
73. Щипицын А.Г., Коваленко В.В., Юсупов В .А., Батретдинов Н.Ш., Овсяницкая Л.Ю. Способ и устройство системы биомеханической стимуляции мышц и восстановления двигательных функций. Заявка на выдачу патента РФ на изобретения.
74. Щипицын А.Г., Щипицын П.Г., Кацай Д.А., Ус Л.Ю. и др. Разработка математических моделей для задач синтеза лечебно-диагностических систем: тема №29.97; № гос.рег. 01.970002852; инв. № 02.980002428.144
75. Щипицын А.Г., Коваленко В.В., Юсупов В.А., Ус Л.Ю. Система биомеханической стимуляции мышц человека. Математические модели и алгоритмы анализа Челябинск:ЧГТУ, 1997-142с.
76. Цыпкин ЯЗ. Основы информационной теории идентификации, М.: Наука, 1984.-320 с.
77. Цыпкин Я.З. Основы теории автоматических систем. М.: Наука, 1977. 560 с.
78. Чаки Ф. Современная теория управления.-М.: Мир, 1975. 424с.
79. Эйкхофф П. Основы идентификации систем управления: Пер. с англ. М.: Мир, 1975.-688 с.
80. Эйкхофф П. и др. Современные методы идентификации систем: Пер. с англ. М.: Мир, 1983.-400 с.
81. Юревич Е.И. Теория автоматического управления. «Энергия», 1975-416с.
82. Яковлев Н.М., Сметанкин A.A. Применения портативных приборов с электромиографической обратной связью в функциональном лечении больных с ДЦП: методические указания к использованию приборов «Сигнал-КД» и «Миотоник-02». НПО «Биосвязь», С-Пб., 1994.
83. Янг Л. Лекции по вариационному исчислению и теории оптимального управления: Пер. с англ. М.: Мир, 1974 - 488 с.
84. П1. Исходный текст программы аппроксимации функции методомнаименьших квадратов
85. Program UlMinSqu; Uses WinCRT; Typeft=Array1.100. of Real; at=AiTay[1.3,1 .2] of Real; bt=Array[1.3] of Real; ut=Array[1.2] of Real; Label 1;
86. Var w,d,d(),dl ,d2,c0,cl ,c2,r,r0,ro,radl ,rad2,rad:Real; t,f,fi,ir,uul,uu2:ft; i,kj:lnteger; a:at;b:bt;fl:text; s,ss,kk,sl,s2,s3,s4:string; tt:real; c,cc,c,gJi:intcgcr;u:ut; Begin ClrScr;
87. For i:=0 to 30 do begin t1.:=i;f1.:=1.6*sin(l *ti.)+l ,21*cos(l *t[i]);cnd;w:=0.1;j:=0;1: FillChar(a, Sizcof(a),())', FillChar(b,Sizeof(b),0); r:=0;r0:=0;
88. ПЗ. Состав пакета прикладных программ БИОМЕХАНИКА
89. Для запуска программы необходимо подвести курсор к файлу new.exe и нажать Enter. На экране появится заставка к программе.
90. После нажатия любой кнопки на экране будет представлено меню выбора режима работы, состоящее из трех пунктов.
91. Запуск программы на выполнениекинематического, динамического иточностного анализадвижения частей тела человека1. Авторы:1. Щипицын А.Г. Ус Л.Ю.1. Меню выбора режима работы
92. Меню выбора режима работы включает в себя следующие пункты: > Движение частей тела человека Движение руки человека Выход в DOS
93. Активный элемент меню выделяется значком ">" контрастного цвета и мигающим курсором. Переход и выбор нужного пункта осуществляется клавишами управления курсором и нажатием Enter.
94. Выход из программы осуществляется выбором пункта "Выход в DOS" и нажатием Enter.
95. После выбора первого или второго пункта на экране появится основное меню:
96. Данные Кинематика ,Динамика Точность Графика Выход
97. Выбор подпункта осуществляется нажатием кнопки с буквой, выделенной на экране контрастным цветом. Неверное нажатие сопровождается звуковым сигналом.
98. Рассмотрим подробнее каждый подпункт основного меню.
99. Подпункт "Данные" основного меню
100. Выбрав данный подпункт, вы попадаете в следующее подменю:
101. Данные Кинематика Динамика Точность Графика Выход
102. Ввод новых данных Просмотр введенных данных Вывод результатов на экран / принтер
103. Xi-длины плеча; Х2-длины предплечья;
104. Х3, Х4—функций Ui(t), U2(t);
105. Х5,Х6~ производных по времени функций U.(t), U2O:);
106. Подпункт "Вывод результатов на экран / принтер предназначен для изменения режима отображения информации.
107. Вывод результатов на экран / принтер
108. Вывод на экран I Вывод на принтер
109. Подпункт "Кинематика" основного меню
110. После вывода всей информации вы возвращаетесь в основное меню. Вычисленные результаты хранятся в файлах:
111. Еои^х^кинематические характеристики движения ЧТЧ; Fff.txt- кинематические характеристики движения руки человека.
112. Подпункт "Динамика" основного меню
113. При выборе подпункта "Просмотр введенных данных" на экране будут представлены введенные вами указанные выше параметры или параметры, заложенные в программу изначально.
114. Определение законов движения тел в данной версии программы не предусмотрено.
115. Подпункт "Точность" основного меню
116. В подпункте "Точность" основного меню вычисляются точностные характеристики движения руки человека. Вычисление точностных характеристик движения ЧТЧ в данной версии программы не предусмотрено.
117. После выбора данного подпункта на экране будет представлена таблица зависимостей относительных погрешностей определения радиусавектора, скорости и ускорения точек от соответствующих величин. Приняты следующие обозначения:
118. Т-время; Щ1., Ух], \\ф]-проекции соответственно радиуса-вектора, скорости и ускорения точек;
119. Я01., У01., \¥0 [^-относительные погрешности определения соответственно радиуса-вектора, скорости и ускорения точек ;
120. Л, V, ^-модуль радиуса-вектора, скорости и ускорения точек;
121. Подраздел "Графика" основного меню
122. Выбрав подраздел "Графика" основного меню, вы попадаете в следующее подменю:энные Кинематика Динамика Точность Графика Выход
123. Погрешность определения радиуса-вектораскорости.■ ускорения.
124. Представление движения руки человека
125. Реакции опор (1 вариант) мах00. 05 0. 030.00-0.45-0.80-0.800.000.80
126. Рис. 1. Фрагмент работы программы
127. Подраздел "Выход" основного меню
128. Раздел служит для изменения режима работы программы или выхода в DOS. Нажатие кнопки, выделенной контрастным цветом, позволяет войти в меню выбора режима работы.
129. Способ математического описания методики лечебной физкультуры
130. Для создания собственного описания методики ЛФК и адаптации ее к созданной программе, необходимо выполнить следующий алгоритм:
131. Зайти в интегрированную среду Borland Pascal и вызвать файл Fimct.exe , в котором находятся уже созданные описания методик.
132. PPRZYfJ. вторая производная радиус-вектора Rzy=OzOv;-RYXJ,P. радиус-вектор Ryxp=OyOxp;-PRYXJ,P.- первая производная радиус-вектора Ryxp=OyOxp;-PPRYXJ,P.- вторая производная радиус-вектора Ryxp=OyOxp;-RXVJ,P.- радиус-вектор Rxvp=OxpOvp;
133. PRXVJ,P. первая производная радиус-вектора Rxvp=OxpOvp;-PPRXVJ,P.- вторая производная радиус-вектора Rxvp=OxpOvp; 3. Нажать F3 для компиляции модуля FUNCT, в который внесены изменения, и выявления возможных ошибок.
134. Открыть файл NEW.Pas и нажать Ctrl+F9 для запуска программы на выполнение и создание ехе-файла.
135. Выйти из среды Borland Pascal и запустить программу на выполнение (файл New.exe). Сейчас на запрос "Введите номер методики лечебной физкультуры" вы вводите цифру подпункта "Собственная методика лечебной физкультуры".
136. Исходный текст пакета прикладных программ «Биомеханика»1. PROGRAM NEW;
137. Uses Graph,Crt.TPY.Newl ,New2,Nevv3; BEGIN dr:=9; md:=2;1.i t Gra p h (d r, m d, 'c: \bp\bgi'); Graphdefaults; ClearDevice; Setcolor(11); SetFillStyle(i,Il); SetBkColor(9); I:=70;J:=420; While I<250 do begin Line(i j,(640-i)j); j:=j-l;i:=i+l; End;
138. Ваг30(70,420,570,60,35,тор0п);1. SetTcxtStyle(0,0,3);1. Setcolor(O);
139. OutTextX Y(200,100,'Про1рамма'); SetTextStyle(0,0,2);
140. OutTextXY(80,150,"кинематического, динамического");1. OutTe)itXY(300,180,'и');
141. OutTextX Y(160,210, хочносшо! о анализа');
142. OutTextXY(240,240,"движения*);
143. OutTextXY(160,270,'частей тела человека 'J;
144. OutTextXY(70,310,'--------------------------------');
145. Out TextXY(l 30,358,'авторы:"); Out TextXY(310,343,"Щипицын А.Г."); OutTextXY(310,380,rYc Л.Ю.1); Sound(llO); delay(40); NoSound; ReadKey; i:=70y:=60;
146. Clear Device; Seteolor(l); SctFillStyle(l,l); Bar(0,0,640,480); Setcolor(7); SetFillStyle(l ,7); Bar(0,0,630,18); Setcolor(15); Rectangle(0,25,630,470); Rectangle(2,27,628,468); Set Text Style(0,0,1); Setcolor(O);
147. OutTcxlXY(20,7,'BO/ данных); OiitTextXY(13(),7,'nHCMa'mKa'): OutTextXY(235,7,'nHaMiiKa'); OutTextXY(325,7,'o4Hocib'); Out TcxtXY(420,7,'рафика'); OutTextXY(510.,7,'Вых'); On t Text XY(540.7, 'д');
148. Setcolor(ll); OutTcxtXY(10,7;'B'); OutTextXY(120,7,'K'); OutTextXY(225,7,7I') Out TextXY(315,7,T); OutTextXY(415!7,T'); 0utTextXY(533,7,*0'); Ln:=ReadKey; Case Ln of
149. B':Men2InpData; 'd':Men2InpData;1. K':KinCalk; 'r':KinCalk;flYDinara; T:Dinam;lYErrCalk; 'n':ErrCalk;
150. T':Men2Graph; V:Men2Graph;0':PreMen; f.PreMen;
151. Else Begin Sound(l 10); delay(90); NoSound;1. Menu; End; End; End;1. Procedure Men2InpData;1. Begin
152. Setcolor(7); SetFillStyle(l,7); Bar(50,43,300,100); Sctcolor(O); On t Text X Y (65,53, 'вод новых данных); OutTextXY(65,75,'pocMOTp введенных данных);
153. Mark=0 then goto 1; Setcolor(7); SetFfflStyle(l,7); Bar(250,43,600,130); Setcolor(O); OutTextXY(265,55,'Погрешность определения адиуса-вектора ); OutTextXY(483,75,,KopocTH'); Out Text XY(4H3,95,'cKopciin.q');
154. Else Begin Sound(l 10); delay{90); NoSound; 1: Menu; End; End; End; Procedure GrError; Label 1,2,3; Const
155. Color 1 = 13;Color2= 15; Begin
156. U1.:=U0I.*pi/l 80+UA[Ij*pi/l 80*Sin(Q[I]*pi/l 80*S I+F1.*pi/i 80); PU[I]:=UA[I]*pi/I80*Q[I]*pi/180*Cos(Q[I]*pi/180*Sl+F[I]^>i/180); PPU[I]:=-UAtI]^i/180*Q[I]^i/I80*Q[I]^i/180*Sin(Q[I]^i/180*SI+F[I]''pi/ISO); End;
157. Abs(Ul.)>Abs(MXUl) Then MXU1:=U1.; If Abs(U[2])>Abs(MXU2) Then MXU2:=U[2]; If Abs(PU[l])>Abs(MXPUl) Then MXPU1 :=PU[1]; If Abs(PU[2])>Abs(MXPU2) Then MXPU2:=PU[2];
158. Abs(PPUl.)>Abs(MXPPUl) Then MXPPU1:=PPU1.; If Abs(PPU[2])>Abs(MXPPU2) Then MXPPU2:=PPU[2]; S1:=S1+TT; End;
159. ZU1.:=MXU1; ZU2.:=MXU2; ZPU[1]:=MXPUI; ZPU[2]:=MXPU2; ZPPU[1]:=MXPPUI; ZPPU[2]:=MXPPU2; T0:=T;
160. While T0<TL Do Begin For i:=l to 2 Do Begin
161. U1.:=U0I.^i/180+UA[I]*pi/180*Sm(Q[l]*pi/180*T0+F[I]*pi/180); PU[I]:=UAfI]^i/180*Q[I]*pi/180*Cos(Q[I]*pi/180*T0+F[I]*pi/180); PPU[I]:=-UAH^i/180*Q[I]^i/180*Q[I]^i/180*Sm(Q[I]*pi/180*T0+F[I]*pi/180); End;
162. BB; ABCD; If w<0.01 then goto 2; ERROR; M:=(trunc(80+(550/TL)*T0)); Case Flag of LGrErKrd; 2:GrErSp; 3:GrErAcs; End; 2: T0:=T0+TT;1. M>550 Then Goto 3; End;3: ReadKey;
163. Flagl = l Then TT:=TT*20; Menu; End; Procedure GrErKrd; Const
164. Color 1 = 13;Color2= 11; Begin
165. PutPixel (trunc(80+(550/TL)*T0),truttc(400-((400/2)*(rr))),color 1); PutPixel (trunc(80+(550/TL)*T0),trunc(400-((400/0.4)*(rp))),color2); End; Procedure GrErSp; Const
166. Color 1 = 13;Color2= 11 ; Begin
167. PutPixel (trunc(80+(55O/TL)*TO),trunc(400-((400/4)*(vv))),color 1); PutPixel (trunc(80+(550/TL)*T0),trunc(400-((400/0.4)*(vp))),color2);1. End;1. Procedure GrErAcs; Const
168. Color 1 = 13;Color2= 11; Begin
169. Put Pixel (trunc(80+(550/TL)*T0),trunc(400-((400/9)*(ww))),colorl); Put Pixel (trunc(80+(550/TL)*T0),trune(400-((400/0.4)*(wp))),color2); End;1. Procedure GoodBuy; Begin
170. RestoreCRTMode; Window(l ,1,80,25); TextBackGround(blue);
171. For i:=l to 100 Do Begin WriteLn(''); End; \Vmdow(l 5,5,80,20):
172. Text Color(Yellow); WntcLn('BBc;imc длину плеча*);
173. Read(Ll.); WriteLn("BBe,nnTe длину предплечья1);
174. Read(L2J); Writ сLn('Введите начальное значение времени, сек');
175. Read(T); WriteLn ('Введете конечное значение времени, сек');
176. Read(TL); WriteLn("Введите значение временной дискреты, сек");
177. Read(TT); WriteLn("BBC,mi e значение амплшуды движения плеча (рад)1);
178. Read(UAl .); WriteLn ("Введите значение амплитуды движения предплечья (рад)");
179. Read(UA2.); WriteLn(' 'Введите значение начального угла плеча (рад');
180. Read(U0l.); WriteLn("Введите значение начального угла предплечья (рад');
181. Read(U02.); WritcLiiC'BBe^mie значение частоты движения плеча (рад');
182. Read(Ql.); Wntcl л1("'Введнте значение частоты движения предплечья (рад');
183. Read(Q2.); Writе Ln (' Вве tiне значение погрешности XI');
184. Read(KPl.); WriteLn(' Введите значение погрешности Х2');
185. Read(KP2.); WriteLn(' Введате значение погрешности ХЗ);
186. Read(KP3.); WriteLn(' Введите значение погрешности Х4');
187. Read(KP4.); WriteLn(' Введите значение погрешности X5');
188. Read(KP5J); WriteLn(' Введите значение погрешности Х6');
189. Read(KP6.); WriteLn(' Введите значе1ше погрешности Х7');
190. Read(KP7.); WriteLn(' Введите значение погрешности Х8);1. Read(KP8.); WriteLn;
191. WriteLnf Спасибо !'); ReadKey;
192. SetGraphMode(GetGraphMode);1. Flag 1:=1; Menu; End;1. Procedure SccSData;1.bel 1;1. Begin
193. KP1.:=0.04; KP2.:=0.04; KP[3]:=0.04; КР[4]:=0.04; КР[5}:=0.04; КР[б]:=0.04; КР[7]:=0.04;кР[8]:=0.04; TextColor(Yellow); Read(L[l]); Read(UA[2]>; WriteLn(');
194. Read(UOl}>; WriteLn("BBe;jjíTe; Read(U0[2.>; ШгйеЬп("Введате (рад');
195. Read(QlJ); Шп1еЬп("Введцте значение частоты движения предплечья (рад'); Read(Q[2.); WriteLn('BBc;i,HTC значение погрешности XI); Read(KP[I j); WriteLnC Введите Х2);
196. Unit NEW2; INTERFACE Procedure KinCalk; Procedure ErrCalk; IMPLEMENTATION
197. Uses Graph,€rt,TPY,ABC,PPBB,ERR,Newl ,NewMec; Pi ocedure KjnCalk; Label 1,2; Begin
198. Mark=0 Then Begin LKinCalk;{Menu}goto 2;End; RestoreCRTMode; Window(l, 1,80,25); TextBackGround(blue); For i:=l to 100 Do Begin WriteLnC End; Window(15,1,80,9); TextColor(Yellow);
199. WriteLnC Значения векторов координат, скоростей, ускорений точки М); WriteLnC11 их модулей в зависимосш от утлов Ui);1. WriteLnC');
200. WriteLnC! T,cek ! и1,рад ! R1,m ! VI,м/с ! WÍ,m/c*c !); WriteLnC! ! и2,рад ! R2,m ! V2,m/c ! W1,m/c*c !);
201. WriteLn('! ! ! R,m ! V,m/c ! W,m/c*c !);1. WriteLnC!!!!!!);
202. Window(l5,9,80,25); If Flagl=l Then Goto 1; T:=0; tt:=0.2;tl:=5; L1.:=0.45;L2.:=0.35; U0[I]:=-75; U0[2]:=0; UA[I]:=120; UA[2]:=I40; Qtl]:=45; Q[2]:=45; F1.:=0;F[2]:=0; 1: K:=0;T0:=T; While T0<TL Do Begin For i:=l to 2 Do1. Begin
203. U1.:=U0I.^i/180+UA[I]^i/180*Sm(Q[I]^i/180*T0+F[I]*pi/180); PU[I]:=UAH^i/l 80*Q[I] *pi/l 80*Cos(Q[I] *pi/l 80*T0+F[I}^)i/l 80); PPU[I]:=-UA[I]*pi/l 8 0 * Q [I] *pi/180 *Q [I] *pi/180*Sin(Q[I]*pi/l 80*T0+F[I]*pi/l 80); End;1. K:=K+1;
204. K>3 Then Begin K:=0; ReadKey; ClrScr; End; BB;
205. WriteLn(T0:8:3,Ul.: 11:3,R1.: 11:3,V£1}: 11:3,W[1]:11:3); WriteLn(U[2}: 19:3,R[2]: 11:3,V[2}: 11:3,W[2]: 11:3); WriteLn(RR:30:3,W: 11:3,WW: 11:3); WriteLnf);1. T0:=T0+TT; End; ReadKey;2: SetGraphMode(GetGraphMode); Menu; End;
206. Procedure ErrCalk; Label 1,2,3; Begin
207. Mark=0 Then goto 3; RestoreCRTMode; Window(l, 1,80,25); TextBackGround(bIue);
208. For i:= 1 to 100 Do Begin WriteLnf ); End;
209. Window(15, t ,80,10); TcxtColor(Yellow);
210. WriteLnC Значения проекций и модуля векторов ');
211. WriteLn(' координат, скоростей и ускорений ');
212. WriteLnC точки М и их относительных погрешностей');1. WriteLnC');
213. WriteLnC! Т, ! Rl. ! RO[l] ! V[l] ! VO[l] ! W[l] ! WO[l] !); WriteLnC! cek ! R[2] ! RO[2] ! V[2] ! VO[2] ! W[2] ! WO[2] !'); WriteLn('! ! R ! RO ! V ! VO ! W ! WO !');
214. WriteLn('! ! m ! ! ra ! ! m/c*c ! !);1. WriteLnC!!!! !!!!');
215. U1.:=U0I.*pi/l 80+UA[I]*pi/l 80*Sin(Q[I]*pi/l 80*Sl+F[I]*pi/l 80); PU[I]:=UA[I]*pi/180*Q[I]*pi/180*Cos(Q[I]*pi/180*Sl+F[I] ^pi/180); PPU[I]:=-UA[I]*pi/l 80*Q[I]*pi/l 80*Q[I]*pi/l 80*Sin(Q[I]*pi/l 80*S 1 +F[I]*pi/l 80); End;
216. ZU1.:=MXU1; ZU2.:=MXU2; ZPU[1]:=MXPU1; ZPU[2]:=MXPU2; ZPPU[1]:=MXPPU1; ZPPU[2]:=MXPPU2; T0:=T;
217. While T0<TL Do Begin For i:=l to 2 Do Begin
218. U1.:=U0I.^i/180+UA[I]^i/180*Sm(Q[I]*pi/180*T0+F[I]*pi/180); PU[I]:=UA[I]*pi/180*Q[I]*pi/180*Cos(Q[I]*pi/180*T0+F[I}*pi/180); PPU[I]:=-UA[I]^i/180*Q[I}^i/18O*Q[I]^i/180*Sm(Q[I]^i/180*TO+F[I]^i/18O); End;
219. Flag2:=Flag2+l; If Flag2>2 Then Begin Flag2:=0; ReadKey; ClrScr; End; BB; ABCD; Ifw<0.01 then goto 2; ERROR;
220. WriteLn(T0:6:3,Rl.:10:3,RPM[l]:8:3,Vfl]:8:3,VPM[l}:9:3,W[l]:8:3,WPM[l]:9:3);
221. WriteLn(R2.:16:3,RPM[2]:8:3,V[2]:8:3,VPM[2]:9:3)W[2]:8:3,WPM[2]:9:3);
222. WriteLn(RR:16:3,RP:8:3,VV:8:3,VP:9:3,WW:8:3,WP:9:3);1. WriteLnO;2: T0:=T0+TT; End;1. ReadKey;3: Set GraphMode(Gct GraphMode); Menu; End; BEGIN END. Unit New3; INTERFACE Procedure GrRepr; Procedure Add; IMPLEMENTATION
223. Uses Graph,Crt.TPY, ABC,PPBB,ERR,New2,New 1; Procedure GrRepr; Label 1,2,3; Begin
224. U1.:=U0I.*pi/180+UA[I]*pi/180*Sin(Q[I]*pi/180*tl+F[I]); PU[I]:=UA[I]*pi/180*QfI]*pi/180*Cos(Q[I]^pi/180*t2+F[I]); PPU[I]:=-UA[I]>!pi/180*Q[I]*pi/180*Q[I]*pi/180*Sin(Q[I]*pi/180*Sl+F[I]); End;
225. Ul.:=UAfl]*pi/180*Sin(-Q[l]*pi/180:f;Tl)-U0[l]*pi/180; U[2]:=UA[2]*pi/I80*Sin(-Q[2]*pi/l 80*T2)-U0[2]*pi/I80; BB;1. ABCD; ERROR;
226. Str(-ul.:6:2,Sosl); Str(-u[2]:6:2,Sos2); Str(t:4:l,Sos3);
227. U1.:=U0I.*pi/l 80+UA[I]*pi/l 80*Sin<Q[I]*pi/l 80*S 1 +F[I]*pi/l 80); PU[I]:=UA[l]*pi/l 80*Q[I]*pi/l 80*Cos(Q[I]*pi/l 80*S1 +F[I]*pi/l 80); PPU[I]:=-UAfI]*pi/l 80*Q[I]*pi/l 80*Q[I]*pi/l 80*Sin(Q{I]*pi/l 80*S1 +F[I]*pi/l 80); End;
228. ZU1.:=MXU1; ZU2.:=MXU2; ZPU[1]:=MXPU1; ZPU[2]:=MXPU2; ZPPU[1]:=MXPPU1; ZPPU[2]:=MXPPU2; T0:=T;
229. While T0<TL Do Begin For i:=1 to 2 Do Begin
230. U1.:=U0Ij*pi/l 80+UA[I.*pi/l 80*Sin(Q[I]*pi/ 180*TO+F[I]*pi/l 80); PU[I]:=UA[I]*pi/l 80*Q[I]*pi/l 80*Cos(Q[l]*pi/l 80*TO+F[I]*pi/l 80); PPU[I]:=-UA[I]*pi/180*Q[I]^i/180*Q[I]*pi/180*Sm(Q[I]*pi/180*TO+F[I]*pi/18O); End; BB;1. ABCD; ERROR;
231. T0:=T0+TT; End; End; BEGIN END. UNIT ABC;
232. TERFACE Uses TPY,PPBB; Procedure ABCD; IMPLEMENTATION Procedure ABCD; Begin
233. A1,1,1,1.:=-SIN(U1.); A[l,l,l,2]:=0; A[1,1,2,1]:=-SIN(U[1]+U[2]); A[1,1,2,2]:=-SIN(U[l]+U[2]); A[2,1,1,l]:=COS(U[l]); A[2,1,1,2]:=0; A[2,l,2,l]:=COS(U[l]+U[2]); A[2,l,2,2]:=COS(U[l]+U[2J); PA[I,l,I,I]:=-PU1.*COS(U[l]); PA[l,l,l,2j:=0;
234. PAl,t,2,I.:=-(PU1.+PU[2])*COS(U[I]+U[2]); PA[t,t,2,2]:=-(PU[l]+PU[2])*COS(U[l]+U[2]); PA[2,1,1,1]:=-PU1.*SIN(U[1]); PA[2,1,1,2}:=0;
235. USES FUNCT,UTYPE,GNCOS; Procedure DNC; IMPLEMENTATION Procedure DNC; Begin
236. GETC2(CX,iCX);GETC2(CL,iCL);GETC2(CN,iCN);GETC2(CV,iCV); GETC2(DXL,iDXL);GETC2(DLN,iDLN); GETC2(DNV,iDNV);GETC2(DXN,iDXN); GETC2(DLV,iDLV);GETC2(DXV,iDXV);
237. DYZAJ,I,N,K.:=DZYA[I,J,K,N]; End; End; End; End; GETC2(DLX,iDLX); GETC2(DNL,iDNL); GETC2(DVN,iDVN); Fori:=lto3Do Begin Forj:=lto3Do Begin. Fork:=0to3Do Begin
238. For p:=1 to 5 Do Begin For n:=0 to 3 Do Begin DLXAJ,I,P,N,P,K.:=DXLA[I,J,P,K,P,N]; DNLA[J,I,P,N,P,K]:=DLNAfI,J,P,K,P,N]; DVNA[J,I!P,N!P!K]:=DNVA[I,J!P)K,P,N];
239. End; End; End; End; End; PUTC2(DXL,iDXL);PUTC2(DLX,iDLX); PUTC2(DLN,iDLN);PUTC2(DNL,iDNL); PUTC2(DNY,iDNV);PUTC2(DVN,iDVN); GETC2(DNX4DNX); GETC2(DVL,iDVL); GETC 2(D VX,iD VX);
240. Fori:=ito3Do Begin Forj:=lto3Do Begin Fork:=0to3Do Begin
241. For p:=l to 5 Do Begin For n:=0 to 3 Do Begin DNXAJ,I,P,N,P,K.:=DXNA[I,J,P,K,P,N]; DVLA[J,I,P,N,P,K]:=DLVA[I)J,P,K,P,N]; DVXA[J,I,P)N,P)K]:=DXVA[I,J,P)K,P,N];
242. End; End; End; End; End; PUTC2(DXN,iDXN);PUTC2(DNX,iDNX); PUTC2(DLV,iDLV);PUTC2(DVL,iDVL); PUTC2(DXV,iDXV);PUTC2(DVX,iDVX); GETC2(DXX,iDXX);GETC2(DW4DW); GETC2(DNN4DNN);GETC2(DLL,iDLL);
243. DZZA:=CZA; DYYA:=CYA; DXXA:=CXA; DLLA:=CLA; DNNA:=CNA; DWA:=CVA; Dispose(CX);Dispose(CL);Dispose(CN);Dispose(CV);
244. For I:=l to 2 Do Begin Fork:=l to 4 Do Begin S1 :=S 1 +SQR(QRI,K.*KP[K}); End; For k:=1 to 6 Do Begin S2:=S2+SQR(QV[I,K]*KP[Kj); End; Fork:=l to 8 Do Begin S3:=S3+SQR(QW[1,K]*KP[K]); End;
245. RPM1.:=SQRT(S1); VPMI.:=SQRT(S2); WPMp]:=SQRT(S3); S1:=0;S2:=0;S3:=0; End;
246. For K:=l to 4 Do Begin For I:=l to 2 Do Begin QRPK.:=QRP[K]+(SQR(R1.)*QR[I,K])/SQR(RR); End; End;
247. For K:=l to 6 Do Begin For I:=l to 2 Do Begin QVPK.:=QVP[K]+(SQR(V1.)*QV[I,K])/SQR(W); End; End;
248. UNIT FUNCT; INTERFACE USES Crt,UTYPE; Procedure FUN(T:Real); Procedure See{(T:Real)}; IMPLEMENTATION Procedure FUN(T:Real); Begin
249. For j:= 1 to 3 Do Begin For p:=l to 5 Do Begin
250. PMRXAJ,P.:=0; PPMRXA[J,P]:=0; MRVA[J,P]:=0; PMRVA[J,P]:=0; PPMRVA[J,P]:=0; MRVA[J,P]:=0; PMRVA[J,P]:=0; PPMRVAfJ,P]:=0; RZYA[J]:=0; PRZYA[J]:=0; PPRZYA[J]:=0; RYXA[J,P]:=0; PRYXA[J,P]:=0; PPRYXA[J,P]:=0; RXVA[J,P}:=0; End; End;
251. QYAl.:=PI/4; PQYA1.:=0; PPQYA[1}:=0; MRYA[1]:=0; QYA[2]:=0; PQYA[2]:=0; PPQYA[2]:=0; MRYA[2}:=1; QYA[3]:=0; PQYA[3]:=0; PPQYA[3]:=0; MRYA[3]:=l;End; Procedure See{(T:Real)}; Begin
252. Assign(FOUT/FOUT.TXr); Reset (FOUT);1. ClrScr;п1с1п('Координаты произвольных точек ЧТЧ на оси связанной );
253. Writeln('c основанием системы координат');1. Writehi('T=,,T:i6:4);1. WritelnC RY'j;1. For i:=l to 3 Do Begin1. Writeln(RYA1.:16:4);1. End;1. Writelnf RX RV);
254. For i:=l to 3 Do Begin For p:=l to 5 Do Begin
255. Writelnf ',RXA I,P.: 16:4,RVA [I,P]: 16:4); End; End; Delay(200G);Writeln(T=',T: 16:4); Writeln(' UY');
256. For i:=l to 3 Do Begin Writeln(UYAfI.: 16:4); End;1. WritelnC UX UV'};
257. For i:=l to 3 Do Begin Forp:=l to 5 Do Begin
258. For i:=1 to 3 Do Begin Forp:=l to 5 Do Begin
259. WritelnC ',PRUXAI,P.:16:4,PRUVA[i,P]:16:4); End; End; Delay(2000); Writeln(TTpoeKiiroi векторов угловых ускорений на неподвижные оси'): Writeln('T=',T: 16:4); Writehi(' EY'); For i:=l to 3 Do Begin Writeln(EYA1.:16:4); End; WritelnC EX EV);
260. For i:=l to 3 Do Begin For p:=l to 5 Do Begin WritelnC ',EXAI,P.:16:4,EVAP,P]:16:4);
261. End; End; Delay(2000); Wn t eln('flpоекцш! векторов угловых скоростей на неподвижные оси*); Writeln(T=',T: 16:4); WritelnC PREY); For i:=l to 3 Do Begin Writeln(PREYA1.: 16:4); End; Delay(2000);1. WritelnC PREX PREY);
262. For i:= 1 to 3 Do Begin For p:=l to 5 Do Begin
263. Writeln(' ',PREXAI,P.:i 6:4,PREVA[I,P]: 16:4);
264. End; End; Delay(2000); Writeln('BeKTopa скоростей точек ЧТЧ1); Writeln(T=',T:l 6:4); WritelnC VY);
265. For i:=l to 3 Do Begin Writeln(VYA1.:16:4); End;
266. Delay(2000); WritelnC vx VV);
267. For i:=l to 3 Do Begin For p:=l to 5 Do Begin
268. WritelnC ',VXAI,P.:16:4,WA[I,P]:16:4);1. End; End; Delay(2000);
269. Уп1е1п('Проскцни векторов уг ловых ускорений на неподвижные оси1); Write!n('T=',T: 16:4); Writeln(' WY'); For i:=1 to 3 Do Begin Writeln(VYA1.: 16:4); End; Delay(2000); Writeln(' WX WV);
270. For i:=l to 3 Do Begin For p:=l to 5 Do Begin WritelnC VVXAI,P.: 16:4,VVA[I,P]: 16:4);
271. End; End; Delay(2000);} End; Begin END. UNIT GNCOS;1.TERFACE
272. USES FUNCT,U TYPE,NCOS 1 ,NCOS2,PNCOSl,PNCOS2; Procedure GNC(T:Real);
273. PLEMENTATION Procedure GNC(T:Real); Begin1. NCI(PZ,T,CZ);
274. FillChar(PCZA,Sizeof(PCZA),0);1. NC1(QY,T,CY);1. PNC1(PQY,T,PCY,CY,QY);
275. GETC2(PCV,iPC-V); PNC2(PQV,TiPCV,CV)QV); PUTC2(CV,iCV); PUTC2(PCV,iPCV); End; Begin End. UNIT KOORD; INTERFACE
276. USES FUNCT,UTYPE,DNCOS,PDNCOS; Procedure KRD; IMPLEMENTATION Procedure KRD; Begin
277. Fori:=lto3Do Begin Form:=Ito3Do Begin UYA1.:=UYAI.+CYA[M,I,M,3]*PQYA[M]; PRUYA[I]:=PRUYA[I]+DYZA[M,I,M,0]*PQYA[M];
278. PREYA1.:=PREYAI.+DYZA[M,I,M,0]*PPQYA{M]+PDYZA[M,I,M,0]*PQYA[M}; L0:=L0+DZYA[I,M,O,3]*MRYA[M}; End;
279. RYA1.:=RYAI.+RZYA[I]+LO; L0:=0; End; Fori:=Ito3Do Begin Form:=lto3Do Begin
280. EYa1.:=EYaI.+DZYa[M,I,0,3]*PREYa[M]; End; End;
281. Fori:=lto3Do Begin Forp:=Ito5Do Begin Form:=lto3Do Begin UXaI,P.:=UXa[I,P]+DYLa[M,I,M,P,3]*PQYa[MJ+CLa[M,I,P,M,P,3]*PQXa[M,P];
282. FillChar(C 1A ,SizeOf(C 1 A),0);
283. C1A1,1,0,!.:=!; CI A[2,2,1,2}:=1; CI A[3,3,2,3]:=!;
284. Procedure NC2(B:TPB;T:Real;C2:TPC2); Begin
285. FillChar(C2A ,SizeOf(C2 A),0);1. For P:=l to 5 Do1. Begin
286. USES CRT,Graph,KOORD.UTYPE; Procedure OUT; Procedure OUTSCR;
287. PLEMENTATION Procedure OUT; Begin1. Append(FOUT);
288. Writeln(FOUT,' Координаты произвольных точек ЧТЧ на оси'); Writeln(FOUT,'связанной с основанием сисгемы координат'); Writeln(FOUT,'T—,Т: 16:4); Writeln(FOUT,' RY');
289. For i:=l to 3 Do Begin Writeln(FOUT,RYAfI.: 16:4); End; Writeln(FOUT,' RX RV');
290. For I to 3 Do Begin For p:= 1 to 5 Do Begin Writeln(FOUT,' \RXAI,P.: 16:4 ,R VA[I,P]: 16:4); End; End; Writchi(FOUT);
291. Writeln(FOUT,TIpoeiaDani векторов yi ловых скоростей на неподвижные оси'); Writeln(FOUT,'T=',T: 16:4); Writeln(FOUT,' UY');
292. For i:=l to 3 Do Begin Writeln(F0UT,UYA1.:16:4); End;1. Writeln(FOUT,' UX UV);
293. For i:=1 to 3 Do Begin For p:=1 to 5 Do Begin Writeln(FOUT,' ',UXAI,P.:16:4,UVA[I,P]:16:4); End; End; Writeln(FOUT); Writeln(FOUT, 'Проекщш векторов угловых ускорений на неподвижные оси); Writeln(FOUT,'T=',T: 16:4); Writeln(FOUT,' PRUY');
294. For i:=l to 3 Do Begin Writeln(FOUT,PRUYA1.:16:4); End; Writeln(FOUT,' PRUX PRUV');
295. Fori:=l to 3 Do Begin For p:=l to 5 Do Begin Writeln(FOUT,' ',PRUXAI,P.:16:4,PRUVA[I,P]: 16:4);1. End; End; Writeln(FOUT);
296. Writeln(FOUT, 'Проекции векторов угловых скоростей на неподвижные оси1); Writeln(FOUT,'T=',T: 16:4); Writeln(FOUT,' EY); For i:=l to 3 Do Begin Writeln(FOUT,EYAI}:16:4); End; Writeln(FOUT,' EX EV);
297. For i:=l to 3 Do Begin For p:=l to 5 Do Begin
298. Writeln(FOUT,' ',EXAI,P.:16:4,EVA[I,P]:16:4); End; End;
299. Writeln(FOUT); WriteIn(FOUT,'T=r,T: 16:4); Writeln(FOLJT,' PREY); For i:=I to 3 Do Begin Writeln(FOUT,PREYA1.: 16:4); End;
300. Writeln(FOUT,' PREX PREV);
301. For i:= 1 to 3 Do Begin For p:=1 to 5 Do Begin Wiiteln(FOUT,' ',PREXAI,P.: 16:4,PREVA[I,P]: 16:4);
302. End; End; Writeln(FOUT); Writeln(FOUT,'BeKTopa скоростей точек ЧТЧ); Writeln(FOUT,T=',T:16:4); Writeln(FOUT,' VY);
303. For i:=l to 3 Do Begin Writeln(FOUT,VYA1.:I6:4); End; Writeln(FOUT,' VX W);
304. For i:=1 to 3 Do Begin For p:=l to 5 Do Begin
305. Writeln(FOUT,' ',VX AI,P.: 16:4, WA [I,P]: 16:4);1. End; End; Writeln(FOUT);
306. Writeln(FOUT,'T—,T: 16:4); Writeln(FOUT,' WY); For i:=l to 3 Do Begin Writeln(FOUT,WYA1.: 16:4); End; Writeln (FOUT7 WX WV);
307. Fori:=l to 3 Do Begin For p:=l to 5 Do Begin
308. Writeln(FOUT,' ', WXAI,P.: 16:4, WVA [I,P]: 16:4);
309. End; End;END; Procedure OUTSCR; Begin
310. Writeln(RYA 1.: 16:4); End; WritelnC RX RV);
311. For i:= 1 to 3 Do Begin For p:= 1 to > Do Begin
312. WritelnC ',RXAI,P.: 16:4,RVA[I,P]: 16:4); End; End; ReadKey; Writeln; Wriieln('ripocKTUin векторов утловых скоростей на подвижные оси); Writeln('T=,,T: 16:4); Writeln(' UY ); For i:=l to 3 Do Begin Writeln(UYA1.:16:4); End; WritelnC UX UV);
313. For i:=1 to 3 Do Begin For p:=l to 5 Do Begin
314. WritelnC ',UXAI,P.: 16:4,UVA[I,P]: 16:4); End; End; Writeln; Writeln('1 проекции векторов утловых скоростей на неподвижные оси); Writeln('T=',T:16:4); Writeln(' PRUY); For i:=l to 3 Do Begin WriteIn(PRUYA[I3:16:4); End; WritelnC PRUX PRUV);
315. For i:=1 to 3 Do Begin For p:=1 to 5 Do Begin WritelnC ',PR UXAI,P.: 16:4,PRUVA[I,P]: 16:4);
316. End; End; ReadKey; , Writeln; WntclnCripoeKnuH векторов утловых скоростей на неподвижные оси); Writeln('T=',T:16:4); WritelnC EY); For i:=1 to 3 Do Begin Writeln(EYA 1.: 16:4); End; WritelnC EX EV);
317. For i:=l to 3 Do Begin For p:=l to 5 Do Begin
318. WritelnC ',EXAI,P.: 16:4, EVA[I,P]: 16:4); End; End; Writeln;
319. Writeln('T=',T:16:4); WritelnC PREY); For i:=l to 3 Do Begin
320. Writeln(PREYA1.: 16:4); End; WritelnC PREX PREV};
321. For i:= 1 to 3 Do Begin For p:=1 to 5 Do Begin WritelnC ',PREXAI,P.: 16:4,PREVAfI,P]: 16:4);
322. End; End; ReadKey; Writeln; Writeln('BeKTopa скоростей точек ЧТЧ'); Writeln('T=',T: 16:4); WritelnC VY');
323. For i:=l to 3 Do Begin Writeln(VYA1.:16:4); End; WritelnC VX VV');
324. For i:=l to 3 Do Begin For p:=l to 5 Do Begin WritelnC ',VXA I,P.:16:4,WA[I,P]:16:4);
325. End; End; Writeln; WritelnC Проекции векторов угловых ускорений на неподвижные оси1); Writeln('T=',T: 16:4); WritelnC WY'); For i:=l to 3 Do Begin Writeln(WYAl.: 16:4); End; WritelnC WX WV);
326. For i:=l to 3 Do Begin For p:=l to 5 Do Begin WritelnC ',WXAI,P.:16:4,WVA[I,P]:16:4);
327. End; End; SetGraphMode(GetGraphMode); END; END.1. UNIT PDNCOS; INTERFACE
328. USES FUNCT,UTYPE,GNCOS,DNCOS;1. Procedure PDNC;1.PLEMENTATION1. Procedure PDNC;1. Begin
329. GETC2(CX,iCX);GETC2(CL,iCL);GETC2(CN,iCN);GETC2(CV,iCV);
330. GETC2(PCX,iPCX);GETC2(PCL,iPCL);
331. GETC2(PCN,iPCN);GETC2(PCV,iPCV);
332. GETC2(DLN,iDLN);GETC2(DXN,iDXN);
333. GETC2(PDXL,iPDXL);GETC2(PDLN,iPDLN);
334. GETC2(PDNV,iPDNY);GETC2(PDXN,iPDXN);
335. GETC2(PDLV4PDLV);GETC2(PDXV,iPDXY);
336. PDYLAIJ^,'p',N.:'=PDYLA[I,J,K,P,N]+PDYXA[I,M,K,P,3]*CLA[M,J,P,0,P,N]+DYXA[I,M,K>P,3]*PC LA[M,J,P,0,P,N];
337. PDZLAI!J)K,P,N.:=PDZLA[I!J,K,P,N|+PDZXA[IIM(K!P,3],,!CLA[M,J)P!0)P,N]+DZXA[I>M,K!P,3I*PCL
338. P'DYNAI,'J,K,P,N.:=PDYNA[I,J,K,P,N]+PDYLA[I,M,K,P,3]*CNA[M,J,P,0,P,N]; PDXVA[I,J,P,K,P>N]:=PDXVA[I,J,P,K)P,N]+PDXNA[I,M!P,K,P)3]*CVA[M!J,PJ0,P,N]+DXNA[I,M)P1K ,P,3]*PCVa[M,J,PAP,N];
339. PDZNAI,J,K,P,N.:=PDZNA[I,J,K,P,N]+PDZLA[I,M,K,P,3]*CNA[M,J,P,0,P,N]; PDYYAfI,J,K,P,N]:=PDYVA[I,J,K,P,N]+PDYNA[I,M,K,P,3]*CVA[M,J,P,0,P,N]+DYNA[I,M,K,P,3]*PC
340. GETC2(PDVN,iPDVN); For k:=0 to 3 Do Begin Begin1. VAM,J,P,0,P,N.;
341. PDZVaI)J)K!PjN.:=PDZVa[I,J,K)P;N]+PDZNa[I,M)K1P13]*CVa[M,J)P)0!P!N3+DZNa[I,M,K,P,3]*PC VA[M,J,P,0,P,N];
342. End; End; End; End; End; PUTC2(PDXL,iPDXL);PUTC2(PDLX,iPDLX); PUTC 2(PDLN ,iPDLN); PUTC 2(PDNL,iPDNL); PUTC2(PDNV,iPDNV);PUTC2(PDVN,iPDVN); GETC2(PDNX,iPDNX); GETC2(PDVL,iPDVL); GETC2(PDVX,iPDVX);
343. Fori:=lto3Do Begin Forj:=l to 3 Do Begin Forp:-lto5Do Begin Forn:=0to3Do PDNXAJ,I,P,N,P,K.:=PDXNA[I,J,P,K,P,N]; PDVLA[J,I,P,N,P,K]:=PDLVA[I,J,P,K,P,N]; PDVXA[J,I,P,N,P,K]:=PDXVA[I,J,P,K,P,N];
344. Procedure PNCl(PA:TPA;T:Real;PCl :TPC1 ;C1 :TPC1 ;A:TPA); IMPLEMENTATION
345. Procedure PNCl(PA:TPA;T:ReaI;PCl:TPCl;Cl:TPCl;A:TPA); Begin1. Fork:=0 to 3 Do Begin1. Begin
346. PCI A3,3,0,1.:=PC1 A[2,2,0,1] PCI A[3,3,1,2}:=PC1 A[l,l,l,2] PC1A[2,2,2,3]:=PC1A[1,1,2,3]
347. PCI A2,3,0,1. PC1A[3,1,1,2] PCI A[I,2,2,3]-PCl A3,2,0,l. =-PCl A[l,3,l,2] =-PCIA[2,1,2,3]
348. Forj:=l to 3 Do Begin For 1 to 3 Do Begin
349. Fori:=lto3Do Begin Forj:=lto3Do Begin Fork:=0to3Do Begin For n:=() to 3 Do Begin PCI AI,J,N,K.:=PC I A[j,i,K,N]; End; End; End; End; End; BEGIN END. UNIT PNCOS2; INTERFACE1. USES FUNCT,UTYPE,NCOS2;
350. Procedure PNC2(PB:TPB;T:Real;PC2:TPC2;C2:TPC2;B:TPB); IMPLEMENTATION
351. Procedure PNC2(PB:TPB;T:Real;PC2:TPC2;C2:TPC2;B:TPB); Begin
352. FillChar(PC2 A ,SizeOf(PC2A),0); For P:=l to 5 Do Begin-PBAI,P.*sin(BA[I,P]); =-PBA[2,P]*sin(BA[2,P]); =-PBA[3,P]*sin(BA[3,P]); =PBA[I ,P]*cos(BA[l ,P]); =PBA[2,P]*cos(BA[2,P]);
353. PBA3,P.*cos(BA[3,P]); PC2A[i,2,P,2,P,3]:=-PC2A[2,l,P!2,P,3]; End; Begin Forj:=lto3Do Begin Forp:=lto5Do Begin Fork:=
354. PC2A2,2,P,0,P,1. PC2A[1,1,P,1,P,2] PC2A[1,1,P,2,P,3] PC2A[3,2,P,0,P,1] PC2A[1,3,P,1,P,2] PC2A[2,I,P,2,P,3] For i:=l to 3 Do Do
355. PC2AI,J)P,0,P,2.:=PC2A[iJ)P)0,P,2]+PC2A[I,K,P,0,P,l];i!C2A[K,J,P,l,P>2]+C2A[I,K,P,0,P,lFPC2A[K,J,P,1.P.2.;
356. PC2AI,J,P,1,P,3.:=PC2A[I,J)P,I,P,3]+PC2A[I,K,P,1,P,2]*C2A[K,J,P,2,P,3]+C2A[I)K]P)1,P,2]*PC2A[K,J,P,2,P,3.;
357. PC2AI,J,P,0,P,3.:=PC2A[I,J,P,0,P,3]+PC2A[I,K,P,0,P,2]*C2A[K,J,P,2,P,3]+C2A[I,K,P,0,P,2]+PC2A[K,J,P ,2,P,3]; End; End; End; End;
358. Fori:=lto3Do Begin Forj:=lto3Do Begin Fork:=0to3Do Begin Forn:=0to3Do
359. PC2AI,J,P,N,P,K.:=PC2A[J,I,P,K,P,N]; End; End; End; End; End; End; BEGIN END. UNIT PPBB; INTERFACE Uses TPY; Procedure BB; IMPLEMENTATION Procedure BB; Begin
360. Bl,l,l,2.:=Cos(U[2]); B[1,2,0,1]:=-B[2,1,O,1];
361. PB1,I,0,I.; PB[1,1,1,2]; PB[2,1,0,1]; PB[2,1,1,2];
362. PPB1,1,0,1. PPB[2,2,0,1] PPB[1,1,1,2]-PPU1.*Sin(Ul.)-(PU[l]*PU[l])*Cos(U[l]); =PPB[1,1,0,1];-PPU 2.*Sin(U[2]V(PU [2]*PU[2])*Cos(Uf2T);
363. PPB2,2,1,2.:=PPBf 1,1,1,2];
364. PPB2,l,0,l.:=PPU[l]*Cos(U[l])-(PU[l]*PU[l])*Sin(U[l]); PPB[1,2,0,1]:=-PPB[2,1,0,1];
365. PPB2,1,1,2.:=PPU[2]*Cos(U[2])-(PU[2]*PU[2])*Sin(U[2]); PPB[1,2,1,2]:=-PPB[2,l ,1,2];
366. Fori:=lto2Do Begin Forj:=lto2Do Begin Form:=l to 2 Do Begin Bi j,0,2.:=B[ij,0,2]+B[i,m,0, l]*B[m j, 1,2];
367. PBy,0,2.:=PB[i,j,0,2]+PB[I,M,0,1 ]*B[M,J, 1,2]+B[I,M,0, If PB[M, J, 1,2];
368. PPBij,0,2.:=PPB[ij,0,2]+PPB[I,M,0,l]*B[M,J,l,2]+2*PB[I,M,0,l}*PBtM,J,l,2]+B[I,M
369. USES FUNCT,UTYPE,DNCOS,PDNCOS,KOORD; Procedure PRSPD; IMPLEMENTATION Procedure PRSPD; Begin
370. FillChar(VY A ,Sizeof(VYA),0); FillChar(VXA ,Sizeof(VXA),0); FfflChar(VVA,Sizeof(VVA),0); FillChar(WYA,Sizeof(WYA),0); FillChar(WXA ,Sizeof(WXA),0); FillChar(WVA ,Sizeof(WVA),0); FillChar(FA ,Sizeof(FA),0>; LZERO;
371. Fori:=lto3Do Begin Forj:=lto3Do Begin Fork:=lto3Do Begin
372. Fori:=lto3Do Begin Forp:=lto5Do Begin Forj:=l to 3 Do Begin
373. VXAI,P.:=VXA[I,P]+PRZXA[I,P]+L9; WA[I,P]:=VVA[I,P]+PRZVA[I,P]+L12; WXA[I,P]:=WXA[I,P]+PPRZYA1.H-L10; WVA[I,P]:=WVA[I,P]+PPRZYA[I]+L11; LZERO; End;{p} End;{i} End; BEGIN END. UNIT TPY; INTERFACE Type
374. TB=Array 1.3Д.3,0.1,1.2. of Real;
375. TAB=Array 1.2,1.2,1.2,1.2. of Real;
376. TQR=Array 1.2.1.4. of Real;
377. TQV=Array I .2,1 .6. of Real;
378. TQW=Array 1.2,1.8. of Real;1. TA=Array 1.2. of Real;1. TM=Array 1.4. of Real;
379. TM 1 =Array 1 .6. of Real;1. TKP=Array 1.8. of Real;1. Point Type=Recordx,y:integer;end;constrn=150;1. Var1. B,PB,PPB:TB;1. KP,KPB,KPE:TKP;1. RPM,VPM,WPM:TA;1. QRP:TM;1. QVP:TM1;1. QWPrTKP;1. QR:TQR;QV:TQV;QW:TQW;
380. R,V,W,Q,PV,PPV,U,PU,PPU,ZU,ZPU,ZPPU,F,UA,UO,UTM,UTP:TA; A,PA,PPAtPC,PPC,PPD:TAB; AA,S1,S2,S3,KK,RP,VP,WP,RPO,VPO,WPO,RR,W,WW,T,TO,TT,TL,L2,Z1,Z2;Z3,MXU,MXPU,MXP PU,KP0,tl,t2:Real;
381. TB=Array 1.3,1.3,0. 1,1.2. of Real;
382. TAB=Array 1 .2,1 .2,1 .2,1 .2. of Real;
383. TQR=Array 1.2.1.4. of Real;
384. TQV=Array 1 .2,1 .6. of Real;
385. R,V,W,Q,PV,PPV,U,PU,PPU,ZU,ZPU,ZPPU,F,UA,UO,UTM,UTP:TA; A,PA,PPA,PC,PPC,PPD:TAB; AA,S1,S2,S3,KK,RP,VP,WP,RP0,VP0,WP0,RR,W,WW,T,T0,TT,TL,L2,Z1,Z2,Z3,MXU,MXPU,MXP PU,KP0,t 1 ,t2;Real;
386. Пример задания собственной методики ЛФК
387. Задача: наклоняем туловище вперед, разводим руки в стороны, подгибаем колени.1. UNIT FUNCT;
388. TERFACE USES winCrt,UTYPE; Procedure FUN(T:Real); Procedure Scc{(T:Real)};
389. PLEMENTATION Procedure FUN(T:Real); Begin
390. Forj:=l to 3 Do Begin For p:= 1 to 5 Do Begin Case Nmcl of 1: {Методика 1} Begin End; 2: {Методика 2} Begin End;3: {Собственная методика ЛФК} Begin
391. Q Y A 1 .:=0; {наклоны туловища} PQYA[l]:=0{cos(t)}; PPQYA[l]:=0{-sm(t)}; MRYA1.:=0.1;
392. QYA2.:=0; PQYA[2]:=0; PPQYA[2]:=0; MRYA[2]:=0.1;
393. QYA3.:=sin(t); PQYA[2]:=cos(t); PPQ Y A [2]:=-sin(t); MRYA[3]:=0;
394. QXAl,2.:=sin(t);{pyKHB стороны}1. PQXAl,2.:=cos(t);1. PPQXA1,2.:=-sin(t);1. MRXA1,2.:=0.1;1. MRXA2,2.:=-0.1;1. MRXA3,2.:=0.1;
395. QXAl,4.:=sin(t); PQXA[1,4]:=cos(t); PPQXA[1,4]:=-sin(t);
396. Пример расчета по собственной методике ЛФК
397. Соординаты произвольных точек ЧТЧ на осп связанной с основанием СК
398. Лектора скоростей точек ЧТЧ г= 2.0000 УУ 0.0000 0.0000 -0.0474ух уу
399. П4. Исходный текст программы динамического анализа и синтезасистемы1. Program DPrivod;1. Uses WinCRT; Type
400. N,t,tt,tO,ddt,dt,sm,ss,t 1 ,t2,s 1 ,s2,s3,s4,fr,cs:Real; i j,k,l,m,a,p,q,b,r4v:Intcger;ll,S,ro,E2,pp,u,pu,QGl,QG2,ol,E,Om,ff2,FF,JJ,Rol:TL; mm,G:TM;
401. E3,Tet,QFl,QPl,QP2,BE2{,JJ}:TE; QE1 ,QE2,BOM2,BEl ,BE22,BE:TQ; QOM1 ,QOM2,BOMl,BOM22,BB:TQQ; Y,PS:TY; C:TC;
402. QTil,BOm,BU,BOmO,BUO,qy:TTil;
403. RooOm,POm,FOm,YOm,FU{,ffs}:TP;x:TMat;1. QOmI2:TTil;1. Q2,qq,qp,as,atr,aob:T18;pz,kpy ,kpp,fsin,yz,bs:T 181;1. P2,F,FY,fTs:T181;1. DP:Text;1. DS:Filc of real;1. DH:Filc of Integer;
404. Assign(DP,'c:\bp\bpexc\up\DPriv.txt'); Rcwritc(DP);
405. A ssign{ DS, 'c:\bp\bpcxc\iip\DSint. dat Rcwritc(DS);
406. JJ2,l.:=l/3*(mm[l]*Sqr(0.11));JJ[3,13:=l/3*(mm[l]*Sqr(0.11»; JJ[l,2]:=l/2*(mm[2]*Sqr(0.1));JJ[2,2]:=l/3*(mm[2]*Sqr(0.1)); JJ[3,2]:= 1 /3*(mm[3]*Sqr((>.1));
407. For k:=l to 3 Do Tetijik.:=(2*E2tij]-l)*JJ[i,k];t:=tO; {начало времени}
408. Fillchar(YOm,sizeof(YOm),0);
409. FillChar(FOm,SizeOf(FOm),0);FillChar(QOm2,SizeOf(QOm2),0); Fillchar(Y,sizeof(Y),0);
410. FillChar(FU,SizeOf(FU),0);FillChar(Q2,SizeOf(Q2),0);
411. FillChar(QGl,SizeOf(QGl),());FillChar(QG2,SizeOf(QG2),0);
412. FillChar(QFl,SizeOf(QFl),0);FillChar(QPl,SizeOf(QPl),0);
413. FiUChar(QP2,SizeOf(QP2),0);FiHChar(BE2,SizeOf(BE2),0);
414. FillChar(QEl,SizeOf(QEl),0);FillChar(QE2,SizeOf(QE2),0);
415. FfflChar(BOM2,SizeOf(BOM2),0);FiHChar(BEl,SizeOf(BEl),0);
416. FillChar(BE22,SizeOf(BE22),0);FfflChar(QOMl,SizeOf(QOMl),0);
417. FillChar(QOM2,SizeOf(QOM2),0);FfflChar(BOMl,SizcOf(BOMl),0);
418. FillChar(BOM22,SizeOf(BOM22),0);FiîlChar(BE,SizeOf(BE),0);
419. FillChar(BB,8izeOf(BB),0);FillChar(Rol ,SizeOf(Ro 1),0);
420. FÜlChar(QTM,SizeOf(QTü)>0);FmChar(P2,SizeOf(P2),0);
421. For b:=l to 3 Do For q:=l to 3 Do Begin Y9+3*(b-í)+q.:=ii[q,b];end;
422. Fillch ar (C, sizeof(C), 0);
423. For a:=l to 3 Do Forp:=l to 3 Do For i:=l to 3 Do Forj:=l to 3 Do Cij,a,p,a,p.:=E2[ij]; For a:=l to 3 Do Begin
424. C2,2,a,2,a,3.:=cos(Y[9+3*(3-l)+3]);C[3,3,a,l ,a,3]:=l;End;c0.}For a:=l to 3 do For i:=l to 3 do For j:=l to 3 Do с[у,(з-1),3,а,0]:=Е[у]; {57} For a:=l to 3 Do For i:=l to 3 Do Forl:=l to 3 Do
425. Form:=l to 3 Do Ci,l,a,0,a,2.:=C[i,l,a,0,a,2]+C[i,m,a,0,a,l]*C[m,l,a,l,a,2]; {63} For a:=l to 3 Do Form:=l to 3 Do Forj:=l to 3 Do
426. For 1:=1 to 3 Do Cmj,a,l,a,3.:=C[mj,a,l,a,3]+C[ra,l,a,l,a,2]*C|lj,a,2,a,3]; {61} For a:=i to 3 Do Fori:=l to 3 Do Forj:=l to 3 Do
427. For 1:=1 to 3 Do Cij,a,0,a,3.:=C[ij,a,0,a,3]+C[i,l,a,0,a,2]*C[lj,a,2,a,3]; {64} For a:=l to 3 Do For p:=0 to 3 Do For q:=0 to 3 Do For i:=l to 3 Do For j:=l to 3 Do
428. Cij,a,q,a,p.:=C[j,i,a,p,a,q]; {65} For a:=2 to 3 Do For p:=0 to 3 Do For q:=0 to 3 Do For i:—1 to 3 Do For j:=l to 3 Do For 1:=1 to 3 Do Begin
429. Cij,(a-l),p,a,q.:=C[ij,(a-l),p,a,q]+C[i,l,(a-l),p,(a-l),3]*C[lj,a,0,a,q];end; {68} For a:=3 to 3 Do Forp:=0 to 3 Do For q:=0to 3 Do For i.-l to 3 Do For j:=l to 3 Do For 1:=1 to 3 Do Form:=l to 3 Do
430. Cij,(a-2),p,a,q.:=C[ij,(a-2),p,a,q]+Cti,l,(a-2),p,l,3]*C[l,m,(a-l),0,(a-l))3]*C[mj,a,0,a,q]; {132} If lv=0 then begin
431. QE2i,p)k1b.:=QE2[i,p)kIb]-Hmii|k]*E3[iIp>q]*B[q,b];
432. For k:=1 to 3 Do For b:=1 to 3 Do For i:= 1 to 3 Do For p:=1 to 3 Do For q:= 1 to 3 Do Begin For 1:=1 to 3 Do Begin
433. BOMli,p,q,k,b.:=BOMl[i,p,q,k,b]+E2[k,b]*E3[l,p,l]*Tet[l,q,b];End; BOMl[i,p,q4í)b}:=BOMl[i>p)q4í)b]+QOMl[i,p,q[Jk,b];End; {104} Fork:=l to3DoForb:=l to 3 Do Fori:=l to3DoForp:=l to3Do BE22[i>p,k,b]:=QE2[i,p,k,b|+E2|k,b]*BE2[iIp,b];
434. For k:=i to 3 Do For b:=l to 3 Do Fori:=l to 3 Do For p:=l to 3 Do For q;=l to 3 Do BOM22i,p,q4c,b.:=QOM2[i,p,q,k,b]+E2[k,b]*BOM2[i,p,q,b]; {125} Fork:=l to 3 Do For b:=l to 3 Do For i:=1 to 3 Do Forp:=l to 3 Do If k>b then Begin
435. BEli,pJi,b.:=0;BE22[i,p,k,b]:=0;End; {126 }For i:=l to 3 Do For b:=l to 3 Do For q:=l to 3 Do Begin Forp:=l to 3 Do Begin
436. BBi,p,q,k!b.:=BB[i,p,q,k,b]+E3[m,q,p]*BE|])ni,k,b];End; BB[i!p,q,k,b}:=BOMlI],p,q)k,b]-BB[i,p)q,k,b};End; {161} Fork:=l to 3 Do For j:=l to 3 Do Begin
437. Forj:=l to 9 Do Begin FOm1.:=FOmi.+BOmO[ij]*RooOm[j]; FU[i]:=FU[i]+BUO[ij]*YOm[j];End; End; For i:=l to 9 Do Begin Forl:=l to 9 Do Begin
438. For j:=i to 9 Do Begin QOmI2i,l.:=QOmI2[i,l]+BOmO[ij]*QTil|j,l]; End;End;End; {178} For i:=l to 9 do Begin
439. F1.:=FOmi.;F[9-H]:=FU[i];P2[i]:=POM[i];P2[9+i]:=0;End; For i: = l to 9 do For 1:=1 to 9 do
440. For q:=l to 3 do begin s2:=s2+BOm22i,p,q,k,b.*OmEp,b}*Om[q,b];end;end;end; iT2[i,k]:=QG2[i,k]+sl-s2;sl:=0;s2:=0;end;end; {120}For p:=1 to 3 do begin
441. For k:=l to 3 do begin sl:=sl+ff2jp,k.;end; For q:=l to 3 do begin
442. For b:=l to 2 do begin s2:=s2+BE22p,q,2,b.*e[q,b];end; For b:=l to 3 do begin s3:=s3+BE22[p,q,2,b]*c[q,b];end; s4:=s4+BE22{p,q,l,l]*e[q,l]+s2+s3;end; FFfp,l]:=-sl+s4;sl:=0;s2:=0;s3:=0;s4:=0;end; {119}Forp:=l to 3 do begin
443. Fork:=l to3 do begin sl:=sl-t-ff2p,k.;end; Forb:=l to 3 do begin s2:=s2+BE22jp,q,2,b]*e[q,b]; s3:=s3+BE22jp,q,3,b]*e[q,b];end; s4:=s4+s2+s3;
444. FFp,2.:=sl+s4;sl:=0;s2:=0;s3:=0;s4:=0;end; {118}Forp:=l to 3 do begin For b:=l to 3 do begin For q:=l to 3 do begin si :=sl+BE22[p,q,3)b]*e[q,b];end;end; FF(p,3]:=-fr2ip,3]+sl;sl:=0;end; {Write into file for sintez} For i:=l to 6 do
445. WritelniYM^Yfi.^,' '.Yri+e.^'.Yp+^iS^,' ,(Yr,i+12)'l=,,Yi+12]:5:2); For i:=l to 3 do begin For k:= 1 to 3 do begin
446. Writeln('e',i,k,1=',e[i,k.:5:2,' VOmega[,!i>k,]='1Om[i,k}:5:2>' ','U[,,i,k,]=,,ii[i,k]:5:2, ' VF[',i,k,']=',FF[i,k]:5:2);end;end; Writcln(DP,t=',t:5:2); For i:=l to 6 do
447. Writeln(DP,Y',i,l=',Y1.:5:2,' VYr>i+6,'|=',Y[i+6.:5:2; 7Y[',i+i2)1=\Y[.+]2]:5:2); For i:=1 to 3 do begin Fork:=l to 3 do begin
448. Writeln(DP!'e',iik,.=',e[i>k]:5:2,' '.'OmcgaC.i.k/l^'.Omti.kjxS^,' ,s'U['1i>k,]=,,u[i,k]:5:2;7F',i)k,'.=',FF[i,k]:5:2);end;end;2: t:=t-dt;1. t>tt then goto 1; end. {SINTEZ}
449. For i:=1 to 18 do begin Pz1.:=3.5;kpYi.:=l;kpP[i]:=l;yz[i]:=3.25;End;
450. П5. Исходный текст программы точностного анализа динамических параметров
451. П6. Исходный текст пакета прикладных программ для программно-аппаратного комплекса определения положения конечности человека1. Program Obj3;
452. Function GetPalette:PPalette;virtual;end;1. TNb=object(T Application)
453. Procedure InitStatusLine;virtual;
454. Procedure InitMenuBar;virtual;
455. Procedure GetEvent(var event: TEvent);virtual;1. Procedure FileOpen;1. Procedure Work;1. Procedure Finish;1. Procedure WindMes;1. Procedure AddParametr;1. Procedure Switch;1. Procedure RBfile;
456. Procedure HandleEvent(var Event:TEvent);virtual; end;
457. PWorkWin=ATWorkWin; TWorkWin=object(TWindow) Constructor Init(Bounds:TRect); end;
458. DataType=record Name: string; Age: string; note: string; Path: string; FileName: string; pi: string; prpl: string; maxpl: string;end;
459. PInterior= л TInterior; TInterior=object{TScro11er) Constructor Inilfvar Bounds:TRect;hs,vs:PScrollBar); Procedure ReadFile;End; Function TMyWind.GetPalette:PPalette; const
460. NewColors=# 19# 17# 11#13; N evvPalette: string4. =newcolors; begingetpalette:=@NcwPalette;end; Procedure TNb.InitStatusLine; var1. R:TRect; Begin
461. GetExtent(R); R.A.Y:=pred(R.B.Y); StalusLine:=New(PStaiusLinesInit(R, NewStatusDef(0,$FFFF,
462. NewStatusKey('~Alt-x~ , Выход',kbA!i X, cmquit, NewStatusKey('~Fl~ Помощь',kb F1 ,cmHelp,nil)) ,nil)))1. End;
463. Procedure TNb.InitMenuBar; var r:TRect; Begin
464. GctExtent(r); R.B.Y:=succ(R.A.Y);
465. MenuBar:=New(PMenuBar,Init(R,(NewMenu( N ewSub Menu('~ M Измерение', 1,
466. NewMenu(NewItem('~ 1 , Ввод параметров',",0, {cmAdPar} cmMeas,hcNoContext,
467. Newltem('~2~/ Просмотр параметров',",0,cmMeas,hcNoContext,}niI)), NcwSub Mcnu('~V~/ Просмотр', 2,
468. NewMenu(NewItem('~ I Графическое изображение',",0,cmSeeGr,hcNoContexi,
469. Newltem('~2~/ Числовые данные',",0,cmRF,hcNoContext,nil))), NewItera('~A~/ Анализ',",0,cmAnalis,4, NewItem('~P~/ О программе',",0,cmSaveFile,3,nil)))))))); work;1. End;
470. Procedure TNb.GetEvent(var EVent :TEvent); var a:real; Begin
471. TApplication.GetEvent(EVent); If Event.Command=cmHelp then begincase gethelpctx ofl.rhlpffle(l);2:rhlpfile(2);3:rhlpffle(3);4:rhlpfile(4); end;1. Redraw;InitEvents;end;1. End;
472. Control:=DeskTopA.ExecView(inWin);if Control=cmOK then begin with data do beginfflename:=bfflenameA.dataA;name: =bnameA .data A;age:=bageA.dataA;note:=bnoteA.dataA;1. GetDate(yr,mh,d,w);1. Get Time(h ,m,c,cc);if filename=" then filename:='z';
473. Assign (f 1 ,'c:\bp\bpexe\mishkaY+fflename);writ ein (filename);1. Rewrite (fl);1. Append(fl);1. WriteLn(f 1,");1. WriteLn(f 1,'Имя',name);
474. WriteLn(f 1,'Возраст',age);
475. WriteLn(f 1,'Дополнительные сведения',note);
476. WriteLn(fI ,'Дата проведения измерения',у,':',mh,':',d);
477. WriteLn(fl,'Время начала проведения измерения',h,':',m,':',с); WriteLn(fl,"); end; end else exit;r.assign(l 5,3,65,18);
478. Control:=DeskTopA.Exec View(in Win); if Control=cmOK then with data do beginpl:=bplA.dataA;prpl:=bprplA .data A;maxtime:=bmaxtimeA. data A;maxpl:=bmaxplA .data A;maxprpl:=bmaxprplA .data A;1. Append(fl); WnteLn(fl,");
479. WriteLn(fl, 'Длина плеча' (m):',pl);
480. WriteLn(f 1,'Длина предплечья (m):',prpl);
481. WriteLn(fl, 'Максимальный угол отведения руки назад,град',тахр1);
482. WriteLn(f 1, 'Максимальный угол разгибания локтевого сустава '.maxprpl);
483. WriteLn(fl, 'Максимальное время проведения измерений' (c):',maxtime); WriteLn(fl,"); close(fl); Switch ;measurement(filename,maxpl,maxprpl); redraw-;InitEvcnts;
484. Txt : ^Подключите датчики, установите переключатель в положение «Измерение» и нажмите «переключатель установлен»'; r.assign( 15,3,65,14);
485. Control :=DeskTop Л. Exec View(in M cs);if Control=emOK then beginr.assign(l 5,5,65,12);
486. Mes:=New(PDialog,Init(r,'Начало измерений1));-with InMesA dobeginr.assign(9,2,41,4);1.sert(ne\v(PButton,Init(R,'Начало измерений',cmOK,bH)cfault)>);r.assign(l 5,4,35,6);1.sert (new(PButton,Init(R,'Bbixo^.cmCancel,bfNormal)));1. SelectNext(True);end;
487. Uses CRT,graph,dos,oftle,typeM,strings; Procedure Measurement(k,p,pr:string); procedure rfile {(hfmteger)}; Procedure Grf(a,b:real); Procedure Stat Image;procedure SeeGraph;
488. Procedure MouseGotoXY(var x,y:Integer): procedure Attcn;constmousepresent :Boolean=false; HorRat:Integer=26; VerRat: Integer=26; MouseVisibIe:BooIean=True;1. Type
489. TU=array1.2. of Real; t=array [1.2,1.32] of word; tul=array[1.50] of real; DataType=record Name:string; Age: string; note:string; Path:string; FileNanie:string; end;
490. Yar reg:registers; a,b,x,y,xx,yy:integer; l:char;sosl ,sos2,sos3,sos4:string7.; dr,md: Integer; b\tel ibyte2:byte; ScrCurMask:t; fl,ft:text;h,m,c,cc,c0,cc0:word;xdl ,xd2,ydl ,yd2,figr,psigr,xl ,y 1 ,x2,y2:integer:e,wn,fi,psi,cs,sn,cs 1 ,snl :real;u:tu;
491. Procedure Statlmage; beginsetcolor({ll}15); OutTextXY(0,33,'u 1 *); Out TextXY (0,53,^2'); OutTextXY(0,73,t'); SetText Style(0,0,2); setcolor(3);1.ne(l 30,400,630,400);1.ne(l 30,400,130,40);end;
492. Procedure MouseGotoXY(var x,y:Integer); var reg:registers;beginwith reg do ax:=$04; end; {MouseGotoXY}procedure Atten;begin
493. SetTextStyle(0,0,2); setcolor(13);outtcxtxy(400,300,'Внимание!');
494. Set Text Style(0,0,1); setcolor(l 5); end;
495. Procedure Measurement(k,p,pr:string); label 1,2;var mil ,uu2:tuI; i,a,pp,prp,bpred:integer;b:real; Begin1.pGraphData;
496. Str(-ul.:2:2,sosl); Str(-u[2]:2:2,sos2); Str(c,sos3); Str(cc,sos4);
497. Wntc Ьп('Ввсдате имя файла '); read(kk);if kk=" then kk:='z'; assign(fl ,'c:\mishka\'+kk); Reset(fi);
498. SetGraphMode(GetGraphMode); {i:= 1;} ClcarDevice; SetFillStyle(0,0); setcolor(l 3);
499. Международной программы "Здоровая семья".1. В. А. Юсупов1. УТВЕРЖДАЮ 1-й проректор1. ЗАКЛЮЧЕНИЕоб использовании результатов диссертационной работы Овсяницкой Л.Ю. вучебном процессе ЮУрГУ
500. Начальник учебного отдела ЮУрГУ /V £.¿¿Йб^Ортаев М. А
501. Зав. каф. «Приборостроение» д.т.н., профессор42.Х*^ Лысов А.Н.
502. Профессор каф. «Приборостроение», д.т.н. Щипицын А.Г.
503. Доцент каф. «Приборостроение», к.т.н. Коваленко В.В.
504. УТВЕРЖДАЮ Проректор по учебной работе Уральской государственной1. ЗАКЛЮЧЕНИЕоб использовании результатов диссертационной работы Овсяницкой Л.Ю. вучебном процессе УГМАДО
505. Зав. каф. Социальной медицины и управления здравоохранением,1. Начальник учебной части1. Л.В. Челяевад.м.н., проф., член-корр. РАЕН d Зав. учебной частью^аф. СМиУЗ1.
506. A.M. Дюкарева ТА. Григорьева
Обратите внимание, представленные выше научные тексты размещены для ознакомления и получены посредством распознавания оригинальных текстов диссертаций (OCR). В связи с чем, в них могут содержаться ошибки, связанные с несовершенством алгоритмов распознавания. В PDF файлах диссертаций и авторефератов, которые мы доставляем, подобных ошибок нет.