Заметки электроника
Простое - надёжнее!
Меню
  • Главная
  • Погода
  • Заметки
  • Календарь
  • Фотогалерея
  • Песни
  • Чтиво
  • Программы
  • Скачать
  • Связь и ссылки
  • Чехия
  • Lavka

Живёшь в Чехии?

Поворот точки и полигона относительно другой точки Си. Point and polygon rotation around the origin C code

  • Печать
  • E-mail
Информация о материале
Автор: Super User
Родительская категория: Заметки
Категория: Программирование
Создано: 11 мая 2016
Обновлено: 14 мая 2016
Просмотров: 3254
Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна
typedef struct 
{
  int16_t X;
  int16_t Y;
}Point, * pPoint;

Точка:
Point RotatePoint(Point Coord, Point Coord0, float32_t angle){ //angle max is 2pi rad 
static float32_t cosV;
static float32_t sinV;
static float32_t Xo;
static float32_t Yo;
static float32_t X;
static float32_t Y;


 // angle*= 0.017453292f;
  cosV = arm_cos_f32(angle);
  sinV = arm_sin_f32(angle);
  
  X = (float32_t)Coord.X;
  Y = (float32_t)Coord.Y;
  Xo = (float32_t)Coord0.X;
  Yo = (float32_t)Coord0.Y;

  Coord.X = (uint16_t)(Xo + (((X - Xo)*cosV)) + (((Yo - Y)*sinV))+0.5);
  Coord.Y = (uint16_t)(Yo + (((X - Xo)*sinV)) + (((Y - Yo)*cosV))+0.5);

return Coord;
}

Полигон поворот положительные градусы = по часовой стрелке (координата Y - сверху вниз, X - слева направо) в (0.001 * angle_deg) градусах:
void RotatePoly(Point* pToPoints, uint8_t NumbOfPoints, const pPoint Origin, int32_t angle_deg){
  int i;
  float32_t angle = 1.7453292e-5 * (float32_t)angle_deg;  
  for(i = 0; i < NumbOfPoints; i++){
   pToPoints[i] = RotatePoint(pToPoints[i], *Origin, angle);
  }
}

Фильмы для сознания: права животных

  • Печать
  • E-mail
Информация о материале
Автор: Super User
Родительская категория: Заметки
Категория: Биотехнологии
Создано: 14 мая 2016
Обновлено: 14 мая 2016
Просмотров: 2775
Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна

Фильмы для сознания: осознавая связь

  • Печать
  • E-mail
Информация о материале
Автор: Super User
Родительская категория: Заметки
Категория: Биотехнологии
Создано: 14 мая 2016
Обновлено: 14 мая 2016
Просмотров: 2867
Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна

Продвинутые возможности отладки в IAR

  • Печать
  • E-mail
Информация о материале
Автор: Super User
Родительская категория: Заметки
Категория: Программирование микроконтроллеров
Создано: 10 мая 2016
Обновлено: 10 мая 2016
Просмотров: 2746
Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна
Установка срабатывания на определённую операцию, триггеры на чтение/запись:

Coocox где скачать

  • Печать
  • E-mail
Информация о материале
Автор: Super User
Категория: Новости
Создано: 29 апреля 2016
Обновлено: 06 мая 2016
Просмотров: 4744
Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна
Кокосы растут тут:
http://www.coocox.org/download/Tools/
  1. 27.04.16 Центральный регион. Давление финитно растёт. Ждём прояснения
  2. How-To по Altium Designer
  3. 26 апреля 2016 г. Центральный регион. Отскок атмосферного давления
  4. IAR ARM 7.60 скачать

Страница 153 из 196

  • 148
  • 149
  • ...
  • 151
  • 152
  • 153
  • 154
  • ...
  • 156
  • 157

Back to Top

© 2026 Заметки электроника

Top.Mail.Ru