Задать вопрос
  • Не запускается терминал на убунте. Как быть?

    @MalblshProgrammist
    Решается проблема следующим образом: в правом углу экрана нажмите на кнопку "Громкости звука" - в выпадающем окне нажмите на кнопку "Settings" - слева в меню выберите "Language and Region" - выставите язык "English (United Kingdom)" - Format United Kingdom - нажмите рестарт и сделайте "Log out". И запустите по новой терминал.
    Ответ написан
    2 комментария
  • Как найти функцию зная только точки?

    @Valik33rus
    Если известны некоторые значения x и y на графике, то можно найти коэффициент и свободный член данной функции. Допустим линейная зависимость y=kx+b. Например нам известно, что при x = 2, y = 5 и при х = 3, у = 4,5. Составим систему уравнений, подставив известные значения х и у: {2k+b=5; 3k+b=4,5}, решив систему, нетрудно догадаться, что k=-0,5; b=6;
    В итоге наша функция принимает вид y=-0,5x+6
    Ответ написан
    Комментировать
  • Как написать драйвер на C для UART для Raspberry Pi для общения с устройствами по RS485?

    @edo1h
    драйвер вам не надо писать, поддержку MARK/SPACE я добавил в драйвер много лет назад (хотя и без неё можно было обойтись, переключая нужным образом ODD/EVEN, но …)

    в новых малинках по умолчанию наружу смотрит mini UART, который не умеет 9 бит, а полноценный UART (ttyAMA0) занят блютусом, это настраивается, больше деталей тут:
    https://www.raspberrypi.org/documentation/configur...

    после этого ничего raspberry-специфичного в этой задаче нет, мы имеем обычный полноценный UART, который умеет 9 бит.

    остаётся написать/взять готовую реализацию RS-485. уверен, что гугл по запросу «CMSPAR RS-485» выдаст кучу примеров/реализаций на разных языках.
    Ответ написан
    1 комментарий
  • Решение задачи асболютно упругого соударения двух шаров?

    Prosolver
    @Prosolver
    Я использую такое решение для эмуляции движения и соударения пятнадцати шаров (Object Pascal):

    for i:=1 to 15 do   // просчитываем соударения шаров
    for j:=i+1 to 16 do begin
     dist:=sqrt(sqr(balls[i].x-balls[j].x)+sqr(balls[i].y-balls[j].y)); //расстояние между центрами шаров
     if dist<diametr then begin //если расстояние меньше диаметра, значит есть факт соударения
      a:=balls[i].x-balls[j].x; //вспомогательные переменные типа extended
      b:=balls[i].y-balls[j].y;
      p1:=a*b/sqr(dist);
      p2:=sqr(a/dist);
      p3:=sqr(b/dist);
      d1:=balls[i].dy*p1+balls[i].dx*p2-balls[j].dy*p1-balls[j].dx*p2;
      d2:=balls[i].dx*p1+balls[i].dy*p3-balls[j].dx*p1-balls[j].dy*p3;
      balls[i].dx:=balls[i].dx-d1; //меняем значение приращения координаты шаров при движении
      balls[i].dy:=balls[i].dy-d2;
      balls[j].dx:=balls[j].dx+d1;
      balls[j].dy:=balls[j].dy+d2;
    
      p3:=(diametr-dist)/2; //при соударении шары всегда "проникают" друг в друга, поэтому раздвигаем их
      p1:=p3*(a/dist);
      p2:=p3*(b/dist);
      balls[i].x:=balls[i].x+p1;
      balls[i].y:=balls[i].y+p2;
      balls[j].x:=balls[j].x-p1;
      balls[j].y:=balls[j].y-p2;
     end;
    end;
    
    for i:=1 to 15 do
     balls[i].x:=balls[i].x+balls[i].dx;  //эмулируем движение
     balls[i].y:=balls[i].y+balls[i].dy;
    end;
    
    Ответ написан
    3 комментария
  • PSD без фотошопа

    @IvanK90
    Попробуйте Photopea. Он также открывает XCF (Gimp) и другие форматы.
    3f218833c8d046798fa639e308ba40a9.png
    Ответ написан
    Комментировать
  • Знаете ли вы столь же полезные сайты как Toster, Habrahabr, Lifehacker?

    alexlash
    @alexlash
    Тут полезен не столько сайт, сколько блог на сайте www.rockinrobin.co/blog (а-ля русский Buffer-style)
    Ответ написан
    Комментировать