Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.68/19: Рейтинг темы: голосов - 19, средняя оценка - 4.68
0 / 0 / 0
Регистрация: 05.04.2012
Сообщений: 8

Сравнение float.

16.04.2012, 20:38. Показов 3709. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток!

Помогите пожалуйста сформулировать условие.

Есть определенный объект, который следит за передвижением мыши, делаю всё следующим образом:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 float Rad = (float)-atan2(mouse_x-_x, mouse_y-_y); // получаю угол от объекта до мыши
  
  //осуществляю поворот объекта:
  if( Rad != 0.0f){
    
    if(_Radius > Rad)
    {
      _Radius -= 2.0f *dt;
    }
    
    if(_Radius < Rad)
    {
      _Radius += 2.0f *dt;
    }
  }
Мне нужно как-то узнать, что поворот был совершен, как это можно сделать?
Пытался сравнить _Radius и Rad, следующим образом:

C++
1
if( ( (Rad / 2*M_PI) + 1.0f - (_Radius / 2*M_PI) + 1.0f) < 0.00001f )
Но видимо, делаю, что-то не так.
Помогите пожалуйста.

Добавлено через 1 час 21 минуту
Никто не поможет?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.04.2012, 20:38
Ответы с готовыми решениями:

Сравнение float
void setup() { Serial.begin(9600); float azimuth = 0; float course = 180; float a = sin((azimuth -...

опять ошибка.на этот раз cannot convert `float (*)(float)' to `float' in argument passing
#include&lt;stdio.h&gt; #include&lt;stdlib.h&gt; #include&lt;math.h&gt; float f1(float x)/*vira*enie 1*/ {return (x*cos(x))/(1+ pow(x,2));} ...

Чем отличаются float преобразования (float)var от float(var)
Здравствуйте! Подскажите, чем отличается (float)var от float(var)

12
 Аватар для HighPredator
6045 / 2160 / 753
Регистрация: 10.12.2010
Сообщений: 6,005
Записей в блоге: 3
16.04.2012, 21:20
Цитата Сообщение от Саймон Посмотреть сообщение
Мне нужно как-то узнать, что поворот был совершен
Как вариант:
1) после выполнения поворота логическому флагу присвоить значение истина.
2) при проверке на поворот проверять флаг. Если истина - был поворот. После проверки выставить ложь.
1
0 / 0 / 0
Регистрация: 05.04.2012
Сообщений: 8
16.04.2012, 21:43  [ТС]
Спасибо, конечно. Но мне как раз нужно узнать, когда выставлять флаг А узнать никак не могу, потому что _Radius и Rad - никак не получается сравнить на равенство.
0
 Аватар для HighPredator
6045 / 2160 / 753
Регистрация: 10.12.2010
Сообщений: 6,005
Записей в блоге: 3
16.04.2012, 21:58
После того, как осуществили поворот.
0
0 / 0 / 0
Регистрация: 05.04.2012
Сообщений: 8
16.04.2012, 22:09  [ТС]
Цитата Сообщение от HighPredator Посмотреть сообщение
После того, как осуществили поворот.
Как узнать, что поворот осуществлен?
0
 Аватар для HighPredator
6045 / 2160 / 753
Регистрация: 10.12.2010
Сообщений: 6,005
Записей в блоге: 3
16.04.2012, 22:14
Цитата Сообщение от Саймон Посмотреть сообщение
Как узнать, что поворот осуществлен?
У вас есть что-то, что вращается. Вращение, раз оно есть, так или иначе описано. Вот там, где описано и смотрите.
0
Эксперт С++
 Аватар для fasked
5045 / 2624 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 5
17.04.2012, 09:19
Цитата Сообщение от Саймон Посмотреть сообщение
if( Rad != 0.0f)
А вот это условие никогда не будет истинно Или Вы как раз об этом?
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
17.04.2012, 09:25
Цитата Сообщение от fasked Посмотреть сообщение
А вот это условие никогда не будет истинно. Или Вы как раз об этом?
Почему же? По-моему оно как раз почти всегда будет истинно.
0
347 / 292 / 37
Регистрация: 23.03.2012
Сообщений: 838
17.04.2012, 09:41
Цитата Сообщение от lazybiz Посмотреть сообщение
Почему же? По-моему оно как раз почти всегда будет истинно.
Чистый ноль в float сложно получить.
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
17.04.2012, 09:43
Цитата Сообщение от Nekto Посмотреть сообщение
Чистый ноль в float сложно получить.
В том то и дело. Вникни в условие! Там стоит != !!
0
347 / 292 / 37
Регистрация: 23.03.2012
Сообщений: 838
17.04.2012, 09:50
Цитата Сообщение от lazybiz Посмотреть сообщение
В том то и дело. Вникни в условие! Там стоит != !!
Так указывают на то, что смысла в этом if в таком виде нету.
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
17.04.2012, 09:54
Указывают на то, что "условие никогда не будет истинно".

Чистый ноль в float сложно получить.
Этим тоже указывают на то в if нету смысла?
Ошибся - признай, что уж упираться.
0
Эксперт С++
 Аватар для fasked
5045 / 2624 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 5
17.04.2012, 10:24
Цитата Сообщение от lazybiz Посмотреть сообщение
В том то и дело. Вникни в условие! Там стоит != !!
Тут я проглядел - мой косяк
Ну значит оно всегда будет истинно. В любом случае логика программы нарушена и соответственно программа работает не так как ожидает автор.
Такое условие бесполезно. Его можно убрать вообще.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.04.2012, 10:24
Помогаю со студенческими работами здесь

Неправильное приведение void* к *float а далее к float
Почему когда привожу void* к int* потом к int то все работает, данные не бьются и работают нормально, когда делаю те же операции но с...

invalid types `float[float]' for array subscript
void SEARCH(float vol, float price, int i) { if (i&gt;N) { if(price&gt;maxprice) { ...

cannot convert `float' to `float*. Почему так происходит?
всем привет, помогите исправить ошибки... а то голова мало варит уже, а завтра надо сдать уже #include &lt;stdio.h&gt; #include...

Конвертация IBM float в IEEE float
Добрый день, Мне необходимо конвертировать IBM float в IEEE float. По этой ссылке http://support.sas.com/techsup/technote/ts140.pdf...

Ошибка cannot convert 'float' to 'float*'
Здравствуйте, что означает error: cannot convert 'float' to 'float*' for argument '1' to 'int mas_time(float*, int)'? Из-за чего она...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru