|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Розбивка ламаної на задану кількість рівних відрізків
Основою цієї операції буде формування для заданої ламаної(базового контура) довжиною 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. Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.) |