36422

Математические модели геометрического проектирования

Лабораторная работа

Информатика, кибернетика и программирование

Для автоматизации процесса построения Rфункции плоского геометрического объекта в виде точечного множества с шагом h можно предложить следующий алгоритм точки принадлежащие объекту отобразить в виде красных точек: А. Тогда по свойству Rфункции имеем Значит в точке с координатами xy рисуем красную точку если Pxy=0. Пример построения поверхности 0уровня Ффункции двух прямоугольников нахождение геометрического места точек касания объектов S1 и S2 1. Тогда поверхность 0уровня Ффункции двух прямоугольников задается четырьмя...

Русский

2013-09-21

312.5 KB

1 чел.

Лабораторная работа 5

Математические модели геометрического проектирования

1. Для автоматизации процесса построения R-функции плоского геометрического объекта в виде точечного множества с шагом h можно предложить следующий алгоритм (точки, принадлежащие объекту, отобразить в виде красных точек):

А. Представить геометрический объект S1 в виде объединения прямоугольников

Для этого предлагается выполнить следующие действия:

1. Построить по заданным координатам вершин линию границы объекта S1

% Начальная и конечная точки ломаной совпадают – замкнутая линия

x1=[0 0 2 2 4 4 0];

y1=[0 1 1 3 3 0 0];

plot(x1,y1)

2. Визуально разбить построенную фигуру на прямоугольники. Вручную записать формулы, описывающие полученные прямоугольники:

,  i=1,2,…,n.

Координаты вершин полученных прямоугольников можно задать в виде матриц XX и YY, в i-той строке которых находятся координаты вершин прямоугольника :

XX=[0 0 2 2 0

   2 2 4 4 2];

YY=[0 1 1 0 0

   0 3 3 0 0];

Б. В некоторой ограниченной области G красным цветом отметить точки, принадлежащие объекту S1.

Пусть, например, .

Пусть координаты (x,y) точек  Pxy области G изменяются с шагом h=0.1 как вдоль оси ОХ, так и вдоль оси ОY.

Тогда, по свойству R-функции имеем

Значит, в точке с координатами (x,y) рисуем красную точку, если Pxy=0.

2. Пример построения суммы Минковского для геометрических объектов.  

Cуммой Минковского Т1Т2  тел Т1 и Т2 евклидового пространства Rn называется множество Т

Т = { t   Rn | t = t1 + t2,  t1  T1, t2  T2 }.

Рассмотрим прямоугольники S1 и S2 :

Тогда точка ,  i=1,2.

Построение суммы Минковского выполним с шагом h.

hold on

for

for

for

for

plot(x1+x2, y1+y2, ‘.’);

end end end end

hold off

3. Пример построения поверхности 0-уровня Ф-функции двух прямоугольников

(нахождение геометрического места точек касания объектов S1 и S2)

1. Пусть размеры прямоугольников соответственно –  и

2. Координаты полюса объекта S1 (параметры размещения объекта S1) - , например, можно полюс разместить в точке (0,0).

Тогда, поверхность 0-уровня Ф-функции двух прямоугольников задается четырьмя отрезками прямых:

 

 

 

 

4. Визуализация прямоугольных объектов

Для прорисовки некоторого множества прямоугольников или других геометрических объектов, например, окружностей, рекомендуется использовать команды, аналогичные следующим командам:

% Начальная и конечная точки ломаной совпадают - прямоугольник

x1=[0 0 2 2 0];

y1=[0 1 1 0 0];

% создать вектор a1() дескрипторов на все графические объекты

a1(1)=line(x1,y1);

axis([-2 2 -1 4]);

pause(0.1)

Анимацию движения прямоугольника вдоль некоторой линии, например, синусоиды, можно выполнить с помощью следующих команд:

% a3,b3 - размеры прямоугольника S3

a3=3; b3=5;

% задать форму границы объекта S3 (полюс находится в (0,0)

% Начальная и конечная точки ломаной совпадают

x3=[-a3 -a3 0 0 -a3];

y3=[-b3 0 0 -b3 -b3];

% траектория движения полюса задается уравнением,

% например, синусоиды

xx=[-5:0.1:5];

yy=2*sin(xx);

% xP3, yP3 - координаты первой точки траектории движения S3

xP3=xx(1); yP3=yy(1);

 

% создать дескриптор на графический объект

s3=line(x3,y3);

axis([-10 10 -10 10]);

pause(0.1)

k=length(xx);

while 1

   % объект S3 перемещается

   % остановка – Ctrl+C

   for i=1:k

       x0=x3+xx(i);

       y0=y3+yy(i);

       set(s3,'XData',x0,'YData',y0);

       pause(0.1);

   end

end

5. Решение задачи линейного программирования

Задачей линейного программирования называется следующая оптимизационная задача: найти минимальное значение функции цели

при условии, что область D описывается следующими условиями:

Например,

x1+3x2  18,

2x1+x2  16,

3x1  21,

x1  0,

x2  0,

f = 2x1+3x2   min

Переменные, с именами соответствующими записи задачи линейного программирования, используются при вызове функций MatLab, а именно,

A и Aeq –матрицы коэффициентов системы уравнений задачи,

b, beq, lb и ub –вектор-столбцы коэффициентов правых частей системы и векторы ограничений переменных x ,

fвектор-столбец коэффициентов функции цели, 

x – результирующий вектор-столбец.

 Для приведенного примера имеем

,  ,  ,  

В MatLab задача линейного программирования решается с помощью функции Linprog:

Синтаксис:

Различные варианты записи правой части вызова функции Linprog:

x = linprog(f,A,b,Aeq,beq)

x = linprog(f,A,b,Aeq,beq,lb,ub)

[x,fval] = linprog(...)

[x,fval,exitflag] = linprog(...)

[x,fval,exitflag,output] = linprog(...)

Различные варианты записи левой части вызова функции Linprog:

  •  x = linprog(f,A,b) находит min f'*x при условии, что A*x <= b.
  •  x = linprog(f,A,b,Aeq,beq) решает указанные выше задачу при условии дополнительного выполнения ограничений в виде равенств Aeq*x = beq. Если нет неравенств, то устанавливается A=[] и b=[].
  •  x = linprog(f,A,b,Aeq,beq,lb,ub) определяет набор нижних и верхних границ для проектируемых переменных х, так что решение всегда находится в диапазоне lb <= x <= ub. Если нет неравенств, то устанавливается Aeq=[] и beq=[].
  •   [x,fval] = linprog(...) возвращает значение целевой функции fun как решение от х: fval = f'*x.
  •   [x,lambda,exitflag,output] = linprog(...) возвращает структурный выход с информацией об оптимизации
  •  [x,fval,exitflag,output,lambda] = linprog(...) Возвращает структурную lambda, чьи поля включают в себя множители Лагранжа как решение от х.

 Для приведенного примера вызов функции имеет вид

[x,p] = linprog(f,A,b,[],[],lb);

x

p

Выходные аргументы.

exitflag

Описывает выходные условия.

  •  > 0 Данная функция сходится к решению по х
  •  0 Максимальное число оценки функции или итерации было превышено
  •  < 0 Функция не сходится к никакому решению

lambda

Структура, которая содержит множители Лагранжа при решении по х (разделенном по типам условий). Поле структуры:

  •  lower Нижние границы lb
  •  upper Верхние границы ub
  •  ineqlin Линейные неравенства
  •  eqlin Линейные равенства

output

Структура, которая содержит информацию об оптимизации. Поле структуры:

  •  iterations Число выполненных итераций
  •  algorithm Используемый алгоритм
  •  cgiterations Число PCG итераций (только для крупно-масштабного алгоритма)

Задания лабораторной работы

Написать файл-функции для решения поставленных далее задач. Параметры объектов S1 , S2 , S3 указаны для каждого варианта.    

Задачи:

1. Построить R-функцию (задать ее графически точками с шагом 0.1) объекта S1, граница которого задана ломаной на плоскости (ломаная определена последовательностью координат вершин границы). Точки, принадлежащие объекту, отобразить в виде красных точек.

2. Построить сумму Минковского для объектов S1 и S2.

3. Построить анимационную модель поверхности 0-уровня Ф-функции двух прямоугольников S2 и S3:

а) отобразить в графическом окне объект S2,

б) теоретически определить параметры поверхности 0-уровня Ф-функции двух прямоугольников S2 и S3,

б) в виде анимации показать все возможные местоположения объекта S3 при его касании объекта S2 , т.е. полюс объекта S3 должен последовательно размещаться в точках моделируемой поверхности.

4. Построить анимационную модель выбора радиостанций для обслуживания передающего аппарата, находящегося в точке Р. Зоны действия радиостанций определены в условии задачи 11 лабораторной работы №1. Точка Р движется вдоль некоторой линии, пересекающей зоны действия станций (уравнение линии выбрать самостоятельно). Когда точка Р находится в зоне действия станции, соответствующая окружность отображается синим цветом, в противном случае – красным.

5. Решить симплекс-методом задачу линейного программирования, указанную в соответствующем варианте.

Варианты:

Координаты вершин объектов S1 , S2 , S3 заданы при последовательном обходе границы объекта по часовой стрелке.

1.

S1:

x

0

0

5

5

8

8

0

y

0

5

5

3

3

0

0

S2:

x

0

0

3

3

0

S3:

x

0

0

2

2

0

y

0

3

3

0

0

y

0

5

5

0

0

2.

S1:

x

0

0

3

3

5

5

0

y

0

2

2

5

5

0

0

S2:

x

0

0

2

2

0

S3:

x

0

0

2

2

0

y

0

3

3

0

0

y

0

4

4

0

0

3.

S1:

x

0

0

5

5

3

3

0

y

0

5

5

3

3

0

0

S2:

x

0

0

1

1

0

S3:

x

0

0

3

3

0

y

0

2

2

0

0

y

0

5

5

0

0

4.

S1:

x

0

0

7

7

5

5

0

y

4

7

7

0

0

4

4

S2:

x

0

0

1

1

0

S3:

x

0

0

5

5

0

y

0

4

4

0

0

y

0

5

5

0

0

5.

S1:

x

0

0

5

5

7

7

9

9

0

y

0

7

7

5

5

8

8

0

0

S2:

x

0

0

2

2

0

S3:

x

0

0

2

2

0

y

0

4

4

0

0

y

0

3

3

0

0

6.

S1:

x

0

0

3

3

7

7

0

y

0

4

4

3

3

0

0

S2:

x

0

0

3

3

0

S3:

x

0

0

2

2

0

y

0

3

3

0

0

y

0

5

5

0

0

7.

S1:

x

0

0

3

3

7

7

0

y

0

4

4

5

5

0

0

S2:

x

0

0

2

2

0

S3:

x

0

0

2

2

0

y

0

3

3

0

0

y

0

4

4

0

0

8.

S1:

x

0

0

8

8

3

3

0

y

0

7

7

3

3

0

0

S2:

x

0

0

1

1

0

S3:

x

0

0

3

3

0

y

0

2

2

0

0

y

0

5

5

0

0

9.

S1:

x

0

0

7

7

4

4

0

y

2

5

5

0

0

2

2

S2:

x

0

0

1

1

0

S3:

x

0

0

5

5

0

y

0

4

4

0

0

y

0

5

5

0

0

10.

S1:

x

0

0

9

9

7

7

5

5

0

y

0

7

7

1

1

5

5

0

0

S2:

x

0

0

2

2

0

S3:

x

0

0

2

2

0

y

0

4

4

0

0

y

0

3

3

0

0

Варианты для задания 5.

1.

5x1-10x2 + 50 0,

-x1+5x2 + 5 0,

9x1+7x2 – 63 0,

x1  0,

x2  0,

Q = 3x1+2x2   min

2.

2x1-5x2 + 10 0,

5x1+8x2 – 40 0,

-x1+7x2 + 7 0,

x1  0,

x2  0,

Q = -x1+2x2   min

3.

3x1-2x2 + 6 0,

-2x1+5x2 + 10 0,

4x1+9x2 – 36 0,

x1  0,

x2  0,

Q = x1-x2   min

4.

3x1+7x2 – 21 0,

2x1-3x2 + 6 0,

-2x1+6x2 + 12 0,

x1  0,

x2  0,

Q = -x1+x2   min

5.

4x1-5x2 + 20 0,

5x1+6x2 – 30 0,

-3x1+4x2 + 12 0,

x1  0,

x2  0,

Q = 4x1-x2   min

6.

3x1-2x2 + 6 0,

-5x1+4x2 + 20 0,

8x1+7x2 – 54 0,

x1  0,

x2  0,

Q = -x1-x2   min

7.

8x1+4x2 – 32 0,

6x1-3x2 + 18 0,

-2x1+3x2 + 6 0,

x1  0,

x2  0,

Q = x1-5x2   min

8.

7x1-5x2 + 35 0,

10x1+8x2 – 80 0,

-3x1+4x2 + 12 0,

x1  0,

x2  0,

Q = 3x1-x2   min

9.

x1+x2  2,

-x1+2x2  4,

x1 +2x2  8,

x1  0,

x2  0,

Q = 2x1-6x2   min

10.

x1+x2  4,

-x1+2x2  2,

x1 +2x2  10,

x1  0,

x2  0,

Q = 2x1-x2   min

PAGE  7


 

А также другие работы, которые могут Вас заинтересовать

67021. Загальнорозвивальні вправи з м’ячем. Вправи для розвитку сили. Стрибки в глибину з висоти до 40 см із м`яким приземленням. Зіскок з гімнастичної лави вигнувшись 75 KB
  Школа стрибків об`єднує види стрибків: зі скакалкою, стрибки у глибину, висоту, довжину, опорні. Навчати молодших школярів рухових дій доцільно із застосуванням ігрового методу. Це сприятиме створенню позитивного емоційного клімату і формуванню стійкого інтересу до занять фізичною культурою.
67022. За здоровьем – на футбол! 158.5 KB
  Развивать физические качества учащихся содействовать развитию скоростно-силовых качеств совершенствовать технические действия с мячом умения использовать технические действия с мячом в эстафетах. Оборудование: свисток футбольные мячи кегли мультимедийный проектор ноутбук плакаты эмблемы.
67023. Рухливі ігри 87 KB
  Мета: Виховання інтересу до самостійних занять фізичними вправами, до уроків фізичної культури. Завдання: Виховання уміння займатися фізичними вправами самостійно. Сприяння гармонійному розвитку учнів з допомогою фізичних вправ з футболу. Сприяння розвитку фізичних якостей(швидкості, спритності, швидкісно-силових якостей).
67025. Разработка конкурентной стратегии ООО «ИБС» для выхода компании на рынок специализированных продуктов и услуг для банков для восстановления объемов продаж 1.54 MB
  Подход и опыт ООО «ИБС» позволяют компании вести практически любые информационные проекты, как в организационном, так и в технологическом плане. Среди заказчиков ООО «ИБС» крупнейшие банки, торговые фирмы, промышленные предприятия, гостиницы, строительные и другие организации. Большое внимание уделяется работе с предприятиями и организациями государственного сектора.
67026. Формула професійного успіху (рольова гра «Зустріч у шкільному центрі зайнятості») 236.5 KB
  Ви мабуть замислювались над питанням, що робить людину успішною у наш стрімкий час. Одним із показників успішності є вибір професії. Я вважаю, що саме вибір професії – тяжкий та відповідальний крок у житті кожної людини – знайти своє місце у майбутній долі.
67027. Літературний вечір «Украдене щастя» (інсценізація однойменної драми Івана Франка) 64 KB
  Мета: розкрити глибину філософського змісту драми Івана Франка «Украдене щастя»; розвивати вміння аналізувати художній твір, творчі здібності учнів, навички акторської майстерності; виховувати любов до українського слова, традицій рідного краю.
67028. ТРАНСФОРМАЦИЯ КОРПОРАТИВНОЙ КУЛЬТУРЫ ДЛЯ ДОСТИЖЕНИЯ СТРАТЕГИЧЕСКИХ ЦЕЛЕЙ 645.5 KB
  Корпоративная культура может играть решающую роль в мобилизации всех ресурсов организации на достижение целей, но также может стать тормозом ее дальнейшего развития, поэтому особую актуальность в настоящее время приобрел вопрос возможности воздействия на процессы формирования, поддержания или изменения корпоративной культуры...
67029. Шкільний проект духовно – морального виховання 256.5 KB
  Вічним джерелом цієї проблеми є нестримне прагнення кожної людини визначитись з основами своєї діяльностіпоказати те чому завдячує людинароблячи той чи інший крок у своєму житті. Невід’ємною ланкою духовності людини є її культура. Поняття культура нерозривно пов’язане з усіма видами діяльності людини: політичнимекономічним правовим релігійним етичним художнім тощо.