АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Розбивка ламаної на задану кількість рівних відрізків

Читайте также:
  1. Батьківська форма Кількість рослин, тис. шт./га
  2. Кількість жертв внаслідок виверження деяких вулканів
  3. Кількість малих підприємств в Україні
  4. Кількість перевірних символів у кодовій комбінації (верхня межа Варшамова-Гільберта)
  5. Склад і кількість крові

Основою цієї операції буде формування для заданої ламаної(базового контура) довжиною L допоміжну ламану, яка являє собою допоміжний базовий контур, який розбит на N відрізків довжиною кожний dl = L / N, перша та останні точки співпадають.

 

 

 

 

Рис. 13 Укладка відрізку dl на поточну i – у ланку BD

Розглянемо поточну ланку BD базової ламаної з номером і, яка має довжину li. l b - це довжина ланки, на якій вже були укладені відрізок dl(або його частина), тобто ця частина ланки вже зайнята, частина lv ланки поки що залишається вільною(Рис. 13). У процесі укладення поточного відрізка dl може зустрітися три випадки:

а) довжина lv > dl тоді на цю ланку можна вкласти відрізок dl, при цьому ще залищиться місце для розташування ще одного такого ж відрізка, або його частини;

б) довжина lv < dl, тоді на залишку ланки вкладаємо частину відрізку dl (довжиною = dl – lv), а решту переносимо на наступну ланку;

в) довжина lv << dl, а довжини наступних ланок << ніж dl – lv, тоді залишок відрізка, який вкладається, буде розташовуватись на декількох наступних ланках, поки не набереться необхідна довжина dl – lv.

Координати точки С(X0, Y0) на поточній ланці визначаються із подібності двох трикутників ABD та EBC:

 

BE / BA = BC / BD, звідки BE = BA * BC / BD;

BE = (Xi – Xi-1)*lb / (lb + lv), аналогічно CE = (Yi – Yi-1)*lb / (lb + lv);

 

звідки:

X0 =Xi-1 + BE;

Y0 =Yi-1 + CE;

 

На базі цієї моделі нескладно розробити алгоритм, а потім програму.

Якщо уважно подивитись на Рис. 12, то можна помітити, що контур, який отримується при з’єднанні точок, які отримані при розбивкі ламаної на однакову кількість відрізків N однакової довжини, спотворюється відносно базового, але це спотворення можна розглядани як тим більщ незначне, чим більше номер N.


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.)