Задать вопрос
  • Как разделить mesh на отдельные сегменты?

    wataru
    @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    Тут вам нужен обход в ширину и чуть-чуть структур данных, чтобы граф построить.

    Чтобы не копировать кучу раз данные туда-сюда создайте один массив из треугольников. Потом заведите еще один массив int-ов для пометок, к какому мешу каждый из треугольников принадлежит. Вы его заполните и потом можно за один проход разложить треугольники по новым мешам.

    Еще заведите массив списков длинной сколько у вас точек. Пройдитесь по каждому треугольнику и засуньте его номер в 3 списка для каждой из его вершин.

    Ну, а дальше, Breadth-First-Search запускаете. Пройдитесь циклом по всем треугольникам, если он еще не помечен, запускаете BFS от него. Помечайте его новым номером, помещайте его номер в очередь, и циклом пока очередь не пуста, извлекаете из нее элемент. Смотрите 3 списка для трех вершин. Если треугольник оттуда еще не помечен, помечаете его текущим номером меша, кладете в очередь.

    Еще для ускорения можно после просмотра списка треугольников для вершины отчищать его.

    Альтернативный вариант - завести hash_map из пары вершин в номер треугольника. Пройдитесь по треугольникам, и для каждого ребра, если оно еще не помечено, кладите номер треугольника в map. Иначе текущий и второй треугольник связаны - добавьте каждый из них в список инцидентности для второго. В таком варианте у каждого труегольника будет три ребра в соседей по сторонам.

    Только перед обращением к мапе точки сортируйте.
    Ответ написан
  • Существуют логические элементы электроники в типовых корпусах?

    @pfg21
    ex-турист
    КАНЕЧНА !!
    176 серия логических элементов на КМОП-транзисторах, а также ее последователи 561 564 и т.д.
    аналог западная серия 4000

    155 серия логических элементов на ТТЛ и ее последователи 531 533 555 и т.д.
    аналог западная серия микросхем 7400
    Ответ написан
    Комментировать
  • Можно ли как-то объединить две фигуры в Inkscape - чтобы из первой вырезать вторую?

    LenovoId
    @LenovoId Куратор тега SVG
    svg, css,js
    Применяете любой из списка - еcли не нето то отменя ctl+z

    63b810c1d6bb1494045710.png
    Ответ написан
    Комментировать
  • Исходный код языка Си?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Язык Си не является программой, по этому у него нет исходного кода. Исходный код может иметь компилятор языка, которых есть более чем один.
    Ответ написан
    Комментировать
  • Можно ли заряжать телефон переходником?

    ZERGeich
    @ZERGeich
    В невообразимо очень гипотетическом случае - может.
    Во всех остальных - нет.
    Ответ написан
    Комментировать
  • Почему два идентичных файла ведут себя по разному?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Похоже на то, что hare run не нравятся виндовые концы строк (CR/LF). Можно использовать утилиту dos2unix для приведения концов строк в понятный hare вид (LF).
    Ответ написан
    2 комментария
  • Как отклеить деталь (вентилятор) склеенным секундным клеем?

    sotvm
    @sotvm
    Умный поймёт, а дураку и так всё равно.
    638d5da5e22c7859777183.gif
    забудь, т.е. уже не отклеишь, тем более пластмассу
    Ответ написан
    Комментировать
  • Как отключить/вытащить встроенную батарею из ноутбука?

    delphinpro
    @delphinpro
    frontend developer
    В плашке же написано: Перед извлечением любого заменяемого модуля. А не перед разборкой корпуса.
    Вскрыли корпус, отключили кабель от батарейки, потом делайте всё остальное.
    Ответ написан
    Комментировать
  • Где найти сенсея?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Я не собираюсь становиться программистом ...
    Мне необходимо программирование для решения прикладных задач ...

    Эти требования противоречат друг другу. Единственное возможное решение: просто нанимаете программиста, который будет решать ваши задачи в нужной вам области, а вы будете ему платить деньги. Т.о. вы сможете решить нужные вам задачи без знаний в программировании и разработке ПО.
    Ответ написан
    Комментировать
  • Обмен сигналами между процессами в linux?

    @SunTechnik
    Почитайте man на две команды:
    kill
    trap

    Kill - посылает сигнал процессу.
    В большинстве случаев, процесс, получив сигнал завершает свою работу.
    Но с помощью команды trap можно повесить собственный обработчик (команду) на получение сигнала.
    Не на все сигналы можно изменить обработчик.

    В гугле поищите: Trap — обработка сигналов и ошибок в Bash
    Ответ написан
    Комментировать
  • Какой микроконтроллер выбрать, чтобы отправить сигнал на пк/телефон?

    @rPman
    Зайди в фикспрайс (озон или к тем же китайцам) и найди bluetooth кнопку, стоит копейки, для компьютера понадобится стандартный bluetooth донгл, обычно эта кнопка симулирует мультимедиа кнопку громкости (используется для сигнала на сделать фото для смартфонов)

    Если подойдет провод - просто разбирай клавиатуру, вынимай от туда крохотную плату (она обычно 1х3 см) и подцепляй свою кнопку напрямую к контактам (распиновку можешь угадать по токопроводящим дорожкам на пленке под кнопками)
    Ответ написан
    Комментировать
  • Как посчитать правильно расположенные круглые скобки из массива char?

    GavriKos
    @GavriKos
    Идете по массиву. Встречаете открывающую - +1 к счетчику. Встречаете закрывающую - -1 к счетчику. Если на каком то этапе счетчик стал <0 - скобки неверные. Если в конце прохода счетчик != 0 - скобки неверные
    Ответ написан
    Комментировать
  • Можете подсобите с описанием схемы с управляющим источником тока?

    @atereffigies
    Эх. Вы бы сперва разобрались с более простой схемой, а уже потом говорили, что вам подходит. Я за вами наблюдаю уже достаточно давно, и в упор не понимаю, почему вы не хотите разбираться в сути, а ищите готовое решение...
    Налицо непонимание работы ОУ в принципе и закона Ома.
    Схема эта ничем по принципу работы не отличается от той, что приводят в учебниках: https://tinyurl.com/2yahhns6
    636bcda3a2678028702628.png

    Каков самый главный принцип работы ОУ? Не знаете. А звучит он так -- ОУ пытается ВЫРОВНЯТЬ потенциал на своих входах посредством ОТРИЦАТЕЛЬНОЙ ОБРАТНОЙ СВЯЗИ (ООС). Это значит, что если у вас есть петля ООС и вы, скажем, подали на вход "+" 1В, то посредством этой самой ООС операционный усилитель на своём выходе выставит такое напряжение, при котором на входе "-" тоже будет 1 В.
    Это всё, что нужно знать о работе ОУ.
    Возвращаемся к схеме. Если на входе "+" будет 1 В, и мы видим что ООС есть (Выход ОУ - транзистор - токосъёмный резистор - вход "-"), это значит, что на входе "-" так же будет 1 В.
    Что из этого следует?
    А то, что через резистор будет протекать такой ток, который создаст падение напряжения на нём в 1 В.
    А это значит, что транзистор открыт так, что пропускает через себя именно такой ток.
    А это уже значит, что ОУ подаёт на затвор транзистора такое напряжение, при котором транзистор открывается именно так. Ведь цель ОУ -- сделать потенциал на входе "-" равным потенциалу входа "+".
    Вот это и есть принцип работы стабилизатора (источника) тока на ОУ.
    Нагрузка же включается в цепь стока (коллектора), и стоит понимать, что она будет не заземлена -- у вас это разъём ХР2.
    На вашей схеме явная ошибка -- диод VD2 анодом подключен к стоку транзистора, хотя должен быть подключен к плюсу источника питания.
    Разъём ХР3 вам нужен, если вы хотите контролировать ток при помощи АЦП, например, и вам надо знать его текущее значение.
    Схемы не с небес приходят, их делают люди под конкретную задачу и искать схему, которая вам подойдет, не разбираясь в вопросе -- глупо.
    Что вы должны знать при разработке такой схемы?
    1. максимальный ток в нагрузке;
    2. диапазон управляемых напряжений;
    3. максимальное падение напряжения на нагрузке и напряжение питания;
    4. диапазон управляемых напряжений;
    5. режим работы схемы (перменный или постоянный);
    6. требуемые точностные характеристики схемы;

    Зная эти условия, вы должны найти компромисс. Если у вас ток, скажем 10 А, а вы выбрали токосъемный резистор 1 Ом, то это явно перебор. Ведь при таком токе, на нём будет падать 10 В, а рассеиваемая мощность будет 100 Вт!
    Вы должны исходить из мощности токосъёмника. Скажем, если допустимо использовать резистор мощностью 1 Вт, то учитывая некоторый запас, можно прикинуть его номинал -- например 5 мОм. При токе в 10 А на нём будет падать 50 мВ. Это означает, что сигнал на входе у вас должен быть от 0 до 50 мВ.
    Теперь вы переходите к следующему шагу -- согласованию управляющего сигнала.
    Допустим, вы хотите управлять источником тока с ЦАПа. При этом, знаете, что выходное напряжение ЦАП от 0 до 3 В.
    Для этого вы подбираете номиналы делителя напряжения на входе, чтобы из 3 В на входе схемы получалось 50 мВ: https://tinyurl.com/2689aufo
    636bd6e536227242670579.png
    Разобравшись с этим, вы должны прикинуть, хватит ли вам напряжения питания. Для этого вы должны знать падение напряжения на нагрузке. Например, пусть оно будет 2 В.
    Чтобы прикинуть оптимальное напряжение питания, вам нужно сложить максимальное падение на токосъемном резисторе, падение напряжения на полевике при полностью открытом канале (+ некоторый запас, т.к. полевик от нагрева проводит хуже) и плюс то самое падение на нагрузке. Сопротивление канала транзистора можно посмотреть в даташите. Я возьму от балды для примера -- 10 мОм, с запасом в 1,5.
    Итак, при токе в 10 А, на резисторе упадёт 50 мВ, на транзисторе упадёт 0,01 Ом * 1,5 * 10 А = 150 мВ и на самой нагрузке 2 В, итого: 0,05 + 0,15 + 2 = 2,2 В. Т. е. оптимально было бы для нашего примера, если бы на плюсовой вывод нагрузки подавалось около 2,2 В или чуть выше.
    Здесь нужно понимать, что бОльшее напряжение питания вызовет излишнее падение на транзисторе, из-за чего он будет перегреваться, а меньшее напряжение питания не позволит на полную "раскачать" нагрузку.
    Это только один конкретный случай я описал, но суть та же -- вы должны понимать, что делаете.
    В приведённой вами схеме есть еще один недостаток -- отсутствие каких-либо цепей, препятствующий самовозбуждению схемы. Ведь у вас в цепи ООС присутствует ОУ, который вносит свою задержку. Пока по всей цепи ООС дойдет сигнал с выхода на вход "-" верхнего ОУ, условия уже поменяются, и ОУ снова начнёт изменять значение на выходе, и сигнал по ветви ООС опять будет "устаревшим" -- схема самовозбудится, т.к. ОУ всегда будет пытаться выровнять потенциалы и всегда будет некоторый момент запаздывания. Поэтому я бы сделал некоторую частотную коррекцию схемы в своём примере: https://tinyurl.com/262s8e84
    636bdb2b1e713710481088.png
    В общем, появилась RC-цепь между выходом и токосъёмным резистором. Номиналы можете взять примерно такие же, при условии, что режим работы схемы постоянный, а не переменный. С переменным придётся подбирать номиналы RC-цепочки и выбирать ОУ с достаточно быстрой скоростью нарастания выходного сигнала, естественно опираясь на нужное быстродействие.
    Даллее следует учесть момент входного напряжения смещения ОУ. Если критично, чтобы в нагрузке не протекал ток, когда на управляющем входе 0 В, то нужно добавить некотрую коррекцию напряжения смещения (как известно, напряжение смещения можно представить как источник напряжения, включенный последовательно с входом ОУ): https://tinyurl.com/2bl87tus
    636bddc8eee92221394194.png
    Здесь я добавил источник 5 мВ, чтобы сымитировать напряжение смещения ОУ и это привело к тому, что при 0 В на входе схемы в нагрузке протекает ток 1 А! А это недопустимо.
    Для коррекции нужно добавить некоторое смещение и на вход "-": https://tinyurl.com/2cq64z7t
    636bdef384024562775879.png
    Мне пришлось подключить резистор между 5 В и входом "-", чтобы добиться незначительного тока в нагрузке. Более того, пришось подгонять номинал верхнего резистора делителя напряжения (59 кОм -> 58 кОм), чтобы максимальный ток в нагрузке мог снова достигать 10 А.
    Т. е. столько нюансов, а вы хотите без понимания сути взять готовое и чтобы работало. И это ещё далеко не всё.
    Можете взять за пример приведенную мной в итоге схему и подогнать под свои условия. И не стоит ставить ОУ в ООС, если вы не понимаете что делаете, иначе заколебётесь глюки ловить.
    Дальше уже расписывать не буду, т. к. пошёл спать. Доброй ночи.
    Ответ написан
  • Какое сопротивление у резистора на схеме?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    1R = 1Ом.
    Советские резисторы могут быть промаркированы как 1E.
    SMD будут промаркированы как 1R0.
    Цветовая маркировка:
    4 кольца: коричневый-чёрный-золотой-любой
    5 колец: коричневый-чёрный-чёрный-серебряный-любой
    Ответ написан
    Комментировать
  • Как учить C++ если будешь знать С?

    CityCat4
    @CityCat4 Куратор тега C
    Дома с переломом ноги
    С начала. Там все по-другому. Подход другой, принципиально. Синтаксис и некоторые ключевые слова общие, да. Но на этом все. Это примерно как самосвал и паркетник - оба автомобили, но один для перевозки грузов, а второй - для перевозки телок :)
    Ответ написан
    Комментировать
  • Сортировка расческой. Что такое число 1.247?

    wataru
    @wataru Куратор тега Алгоритмы
    Разработчик на С++, экс-олимпиадник.
    Судя по всему, это число вылезло в результате эксперементов каких-то исследователей. Они просто попробовали кучу разных факторов и нашли что при 1.247 вроде как быстрее в среднем. Формулу по это число потом какой-то шутник придумал. Кроме как в русской википедии (без ссылки на источник) я нигде эту формулу найти не могу.

    Влияет оно так: если число слишком большое, то мелкие элементы в конце массива не успевают перехать в начало на итерациях с достаточно большим шагом; если же число слишком мелкое, то делается много лишних итераций.
    Ответ написан
    Комментировать
  • Что это за кэши L1 типа I и D?

    mayton2019
    @mayton2019
    Bigdata Engineer
    I - это кеш инструкций. По сути - кеш твоего бинарного кода.
    Ответ написан
    Комментировать
  • Как зациклить трансляцию ffmpeg?

    @Drno Автор вопроса
    Вообщем сделал я зацикленный bash скрипт, вроде все норм)
    Пришлось еще подсунуть фейковую аудиодорожку, иначе стрим ВК не принимает
    -stimeout 10000000 - ожидание "переподключения", тут 10 секунд

    #!/bin/bash
    while true; do ffmpeg -re -rtsp_transport tcp -stream_loop -1 -stimeout 10000000 -i rtsp://admin:password@192.168.1.2:64075/ISAPI/Streaming/Channels/302 -f lavfi -i anullsrc -deinterlace -vcodec copy -f flv -c:a libmp3lame -ar 44100 -b:a 128k rtmp://ovsu.mycdn.me/input/vk_stream_key -nostdin -nostats; sleep 5; done;
    Ответ написан
    Комментировать