Digit писал(а):так вроде того, что берем один отрезок и проверяем две точки другого на принадлежность к отрезку. Потом наоборот... Но вообще, канеш, да. Вариантов много... Я чего-то не про все сообразил По-любому получится не упрощение текста, а наоборот.
При этом не только текста - там еще и вычислений будет немерянно.
Добавлено спустя 2 часа 29 минут 3 секунды:
Digit писал(а):Ну и рисунки добавить вариантов взаимного расположения отрезков - проиллюстрировать ими каждый из подробно описываемых шагов... Я завтра днем нарисую.
Рисунки я уже сделал, а вот разместились они коряво, весь текст поехал можешь посмотреть, может какие-то идеи будут?
Vooon писал(а):мне кажется лучше классами с закрытыми полями, хотя, как удобней будет так и делать. ну и раз мы выбрали C++ то структуры с функциями фтопку
Digit писал(а):Я тоже за классы с закрытыми полями
Я боюсь с закрытыми полями тормозить будет Что на эту тему скажете?
=Dead=, честно говоря не встречал каких-то исследований на тему увеличения тормозов за счет классов (применительно к embedded-системам). То, что будет медленнее - чевидно, т.к. больше вызовов функций и т.п. А вот критично ли это будет - не знаю и нигде не встречал информации. Кстати, высока вероятность, что зависеть будет от компилятора.
Ну, давай может так: библиотеку с математикой делать без классов - чисто функциями и структурами. Математики же много будет. А все "большие" вещи и уникальные в рамках робота (карта, например, - экземпляр этого класса же теоретически будет один на всего робота) делать классами.
Нормуль? Тогда желающим оптимизировать есть возможность переписать библу математическую с ассемблерными вставками или вообще целиком на асме для ускорения быстродействия. И все это дело останется совместимым.
Digit писал(а):=Dead=, честно говоря не встречал каких-то исследований на тему увеличения тормозов за счет классов (применительно к embedded-системам). То, что будет медленнее - чевидно, т.к. больше вызовов функций и т.п. А вот критично ли это будет - не знаю и нигде не встречал информации. Кстати, высока вероятность, что зависеть будет от компилятора.
От компилятора возможно зависит, хотя может он и будет встраивать "inline" всё это, если назначишь "оптимизировать скорость, а не размер". Просто весь код потом переписывать. И смысл закрывать переменные есть только если какие-то проверки на них цеплять, а это 100% тормоза лишние, даже если "inline" всё делать.
Digit писал(а):Ну, давай может так: библиотеку с математикой делать без классов - чисто функциями и структурами. Математики же много будет. А все "большие" вещи и уникальные в рамках робота (карта, например, - экземпляр этого класса же теоретически будет один на всего робота) делать классами.
Нормуль?
Тогда желающим оптимизировать есть возможность переписать библу математическую с ассемблерными вставками или вообще целиком на асме для ускорения быстродействия. И все это дело останется совместимым.
Я вот тоже к этому склоняюсь. Пожалуй так и сделаем.
Коли делаем так, как предложено, то надо некоторый план. Возможно, детальный - с названиями функций и парамтрами. Тогда каждый сможет писать кусок и знать, что это будет совместимо с тем, что другие пишут. А если делать этот план в вики, то можно сделать практически он-лайн помощь по всем функциям библиотек, и по всем классам...
Digit писал(а):Коли делаем так, как предложено, то надо некоторый план. Возможно, детальный - с названиями функций и парамтрами. Тогда каждый сможет писать кусок и знать, что это будет совместимо с тем, что другие пишут. А если делать этот план в вики, то можно сделать практически он-лайн помощь по всем функциям библиотек, и по всем классам...
Думаю сначала поробую сделать набросок сам, потом выложу и там посмотрим как организовать коллективную работу.
В процессе деланья наброска буду выкладывать промежуточные версии.
Еще надо рабочее место расписать для программирования под ПК.
Против C++ Builder'а никто ничего против не имеет?
Digit писал(а):Коли делаем так, как предложено, то надо некоторый план. Возможно, детальный - с названиями функций и парамтрами. Тогда каждый сможет писать кусок и знать, что это будет совместимо с тем, что другие пишут. А если делать этот план в вики, то можно сделать практически он-лайн помощь по всем функциям библиотек, и по всем классам...
лучше писать комменты так, чтобы они были совместимы с doxygen'ом да и комменты написанные для доксигена очень хороше читаются просто в коде
/** * This function puts a character into the USART output queue for * transmission. * * \param ch character to be transmitted * \return ch on success, -1 on error (queue full) */ int16_t putch(char ch);
Добавлено спустя 10 минут 35 секунд: и вот пример сгенеренной документации doc/usart/index.html