Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 19.04.2013, 12:17  
alberio
Гражданин KAZUS.RU
 
Аватар для alberio
 
Регистрация: 08.07.2006
Сообщений: 583
Сказал спасибо: 76
Сказали Спасибо 90 раз(а) в 66 сообщении(ях)
alberio на пути к лучшему
По умолчанию Построение дуги

Никак не могу найти алгоритма построения дуги (куска окружности).
Если адаптировать алгоритм построения окружности Брезенхема, выходит немного громоздко.
Может кто-то ткнет носом в сторону, где искать?
Реклама:
__________________
Sex, Druggs, Rock&Roll
alberio вне форума  
Непрочитано 19.04.2013, 12:23  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 18,982
Сказал спасибо: 2,554
Сказали Спасибо 11,862 раз(а) в 5,944 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: Построение дуги

alberio, если можно, конкретней: в какой системе, что является исходными параметрами и т.д.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor на форуме  
Непрочитано 19.04.2013, 12:28  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Построение дуги

Вот моя рисовалка круга:
Код:
void DrawCircle(int x, int y, int r, unsigned int color) 
{
  int x1,y1,yk = 0;
  int sigma,delta,f;
  x1 = 0;
  y1 = r;
  delta = 2*(1-r);
  do {
    LCD_SetPoint(x+x1,y+y1,color);
    LCD_SetPoint(x-x1,y+y1,color);
    LCD_SetPoint(x+x1,y-y1,color);
    LCD_SetPoint(x-x1,y-y1,color);
    f = 0;
    if(y1 ‹ yk) break;
    if(delta ‹ 0) {
      sigma = 2*(delta+y1)-1;
      if(sigma ‹= 0) {
        x1++;
        delta += 2*x1+1;
        f = 1;
      }
    }
    else if(delta › 0) {
      sigma = 2*(delta-x1)-1;
      if(sigma › 0) {
        y1--;
        delta += 1-2*y1;
        f = 1;
      }
    }
    if(!f) {
      x1++;
      y1--;
      delta += 2*(x1-y1-1);
    }
  } while(1);
}
Надо подумать, как ее переделать под дугу.
Easyrider83 вне форума  
Непрочитано 19.04.2013, 12:39  
alberio
Гражданин KAZUS.RU
 
Аватар для alberio
 
Регистрация: 08.07.2006
Сообщений: 583
Сказал спасибо: 76
Сказали Спасибо 90 раз(а) в 66 сообщении(ях)
alberio на пути к лучшему
По умолчанию Re: Построение дуги

входное параметры - координаты центра, радиус, начальный градус и конечный градус.
Алгоритм окружности у меня есть, но я надеюсь, может есть алгоритм специально для дуги...
__________________
Sex, Druggs, Rock&Roll
alberio вне форума  
Непрочитано 19.04.2013, 12:50  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 18,982
Сказал спасибо: 2,554
Сказали Спасибо 11,862 раз(а) в 5,944 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: Построение дуги

Перед применением алгоритма окружности определить диапазон изменения 'X' по cos углов с учетом квадрантов - и вперед, на мины!
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.

Последний раз редактировалось akegor; 19.04.2013 в 13:08.
akegor на форуме  
Непрочитано 19.04.2013, 16:15  
alberio
Гражданин KAZUS.RU
 
Аватар для alberio
 
Регистрация: 08.07.2006
Сообщений: 583
Сказал спасибо: 76
Сказали Спасибо 90 раз(а) в 66 сообщении(ях)
alberio на пути к лучшему
По умолчанию Re: Построение дуги

Еще вопрос, немного хитрее.

Допустим, есть изображение на дисплее. Его надо "изогнуть" вокруг одной точки (координаты даны).
__________________
Sex, Druggs, Rock&Roll
alberio вне форума  
Непрочитано 19.04.2013, 16:27  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 18,982
Сказал спасибо: 2,554
Сказали Спасибо 11,862 раз(а) в 5,944 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: Построение дуги

Думаю, тут нужно попробовать считая точку лежащей на дуге "бесконечно" большого (для применимости в цифровом виде - достаточно большого) радиуса, уменьшать радиус, просчитывая иксы под необходимые углы. Но этот алгоритм сырой, его нужно посмоктать и оптимизировать. Не могу подробно въехать сейчас. Может, кто точнее скажет.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor на форуме  
Непрочитано 19.04.2013, 17:00  
alberio
Гражданин KAZUS.RU
 
Аватар для alberio
 
Регистрация: 08.07.2006
Сообщений: 583
Сказал спасибо: 76
Сказали Спасибо 90 раз(а) в 66 сообщении(ях)
alberio на пути к лучшему
По умолчанию Re: Построение дуги

Точка, которую надо спроецировать (изогнуть) и выходная точка на дуге будут лежать на одной прямой, которая проходит через центр "круга проекции". Так вот, угол (отношение х к у) для обеих точек будет одинаков, но вот неизвестных все равно 2...

UPD:
Таки нет, знаем еще и радиус круга, из которого находим собственно координаты.
__________________
Sex, Druggs, Rock&Roll

Последний раз редактировалось alberio; 19.04.2013 в 17:59. Причина: update
alberio вне форума  
Непрочитано 19.04.2013, 19:27  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 18,982
Сказал спасибо: 2,554
Сказали Спасибо 11,862 раз(а) в 5,944 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: Построение дуги

alberio, чавой-то у меня плохо получается сообразить. Можно попробовать спросить гуглю за алгоритм обработки изображения "рыбий глаз" (выпуклое искажение) и т.п.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor на форуме  
Непрочитано 19.04.2013, 20:38  
Yurkin2007
Заблокирован
 
Регистрация: 27.03.2007
Сообщений: 1,328
Сказал спасибо: 12
Сказали Спасибо 576 раз(а) в 460 сообщении(ях)
Yurkin2007 на пути к лучшему
По умолчанию Re: Построение дуги

Вот, слепил по-быстрому.
Точка (х1,у1) изгибается вокруг точки (х0,у0) и переходит в точку (х2,у2).
Для каждой точки вычисляем коэффициенты Sin, Cos, R.
Верхний край изображения на высоте Н относительно точки изгиба. Точка изгиба должна быть ниже нижнего края изображения, иначе всё выворачивается наизнанку, синус становится больше единицы и алгоритм не работает.
Миниатюры:
Нажмите на изображение для увеличения
Название: kazus_transform.png
Просмотров: 51
Размер:	13.6 Кб
ID:	45997  
Yurkin2007 вне форума  
 

Закладки

Метки
алгоритм
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Построение 4-х полосной АС Shatman13 Аудиотехника 65 26.11.2012 23:29
Найти длину дуги, известна длина хорды и растояние от центра окружности до хорды dimmich Отвлекитесь, эмбеддеры! 1 15.03.2011 07:51
AT90USB1287...Построение канала связи HID через USB AngelChik Микроконтроллеры, АЦП, память и т.д 1 25.07.2008 10:53
Зарегистрировать зажигание дуги real282 Измерительное оборудование 4 31.08.2007 14:15
Построение аналоговых входов и выходов msaasm Микроконтроллеры, АЦП, память и т.д 7 16.01.2007 20:48


Часовой пояс GMT +4, время: 22:23.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot