Задать вопрос
  • Как найти точки на дуге?

    wataru
    @wataru
    BlinCT, продублируйте картинку и обведите красненьким, что вы имеете ввиду. Это скорее всего такие же тикмарки, как и остальные. Угол на глаз определите. Там дыра в дуге где-то 30 градусов. Значит надо по 15 отступить от направления вниз. Вниз - это 270 градусов. Значтт 255 и 285 будут углы для концов. Нарисуйте, посмотрите, может там не 30, а 40 лучше смотрится.
  • Как найти точки на дуге?

    wataru
    @wataru
    BlinCT, Ну... Надо угол знать. Хотя не совсем понял, что вы там хотите нарисовать-то?
  • Как интерпретировать центр масс?

    wataru
    @wataru Куратор тега Математика
    MuffinLover, Нет, вы нигде не написали, что искомая точка должна быть на поверхности сферы. Широта и долгота, вообще имеют смысл для задания точек на какой-то сфере. Если вам любая точка в пространстве подойдет - то координаты XYZ (0, 0, 0) отлично работают.

    Вообще, давайте опишите, что вам надо и зачем. Тут явно проблема коммуникации - вы спрашиваете вообще не то, что вам надо, и ни один ответ на ваш вопрос вам не поможет. Давайте исходную задачу.
  • Как интерпретировать центр масс?

    wataru
    @wataru Куратор тега Математика
    MuffinLover, Задача очень изменяется. У вас, оказывается, точки на сфере и вы хотите найти какую-то "среднюю" им всем тоже на поверхности сверы. Это очень важное дополнение. Отредактируйте вопрос, пожалуйста. Сразу же там ответьте на вопрос: а какую точку вы хотите получить в ответ, если исходные точки - 2 полюса. И какую, если одна точка совсем рядом с северным полюсом, а вторая - на южном. Вообще, могут ли точки на сфере располагаться как угодно, или они где-то сгруппированы (например, это глобус и все точки в москве)

    А центр масс - среднее арифметическое каждой координаты отдельно по всем точкам - будет всегда лежать внутри сферы.
  • Как найти точки на дуге?

    wataru
    @wataru
    BlinCT, да все они на окружности, только сдвинутой влево чуть чуть. Где вы черную рисуете и позицию для синих пометок считаете - у вас разные центры используются.
  • Можно ли в PHP отсортировать ассоциативный массив в ручную?

    wataru
    @wataru
    Я так понял, что "порядок" значений задан ключами? Т.е. строка, начинающаяся с foo должна встать на позицию foo. А строка, начинающаяся с baz - на позицию с ключем baz.

    Надо уточнить условие. Эти ключи в начале строк будут отдельными словами? Могут ли ключи быть началами других ключей, например могут ли быть ключи ba и baz одновременно. И, если так, то куда должна пойти строка baz?
  • Как найти точки на дуге?

    wataru
    @wataru
    BlinCT, точки внутри по тем же формулам, только радиус берете меньше на ширину тика. Т.е. синус и косинус умножаются на меньшую величину
  • Как найти точки на дуге?

    wataru
    @wataru
    BlinCT, все напутано. Вот так надо:
    auto xPoint = m_Width.value()/2 + radius * qCos((M_PI * angle) / 180.0);
    auto yPoint = m_Height.value()/2 + radius * qSin((M_PI * angle) / 180.0);


    Центр окружности - в центре прямоугольника. Делить углы надо на 180, потому что 180 градусов - это Pi радиан.
  • Как найти точки на дуге?

    wataru
    @wataru
    BlinCT, А что за m_height и m_width? Они по логике должны быть равны m_GaugeWidthHeight/2, нет?

    А еще у вас в синусы и косинусы угол в градусах, похоже передается. А надо, наверное в радианах. Передавайте туда Pi*angle/180.0. Уточните справку на эти qSin и qCos.
  • Как найти точки на дуге?

    wataru
    @wataru
    BlinCT, что-то не так считаете. Может, вместо радиуса берете диаметр? Давайте ваш код.
  • Как найти точки на дуге?

    wataru
    @wataru
    BlinCT, Кажется правильно. Центр окружности - в центре квадрата 485x485. Радиус - половина. Откладываете косинусы/синусы, помноженные на этот радиус - вот и конец отрезка. Откладываете тот же косинус и синус, но с меньшим радиусом - вот и внутренний конец отрезка. Какой-то функцией графической этот отрезок рисуйте.
  • Почему -Wconversion разрешает передачу integer literal в char параметр?

    wataru
    @wataru Куратор тега C++
    Qubc,
    Тем не менее это не очень интуитивно
    Добро пожаловать в с++. Тут много чего неинтуитивно. Еще много что выглядит интуитивно, пока не споткнешься о подводный камень.
  • Как найти минимальное число прохождений по автомату до конечного состояния с N вероятностью?

    wataru
    @wataru Куратор тега Математика
    Нн совсем ясно условие. Надо найти такое минимальное K, что путь из K переходов по цепи посетит заданную вершину хотя бы раз с вероятностью не меньше p? Или надо за K шагов оказаться в вершине?

    А без вероятностей переходов, вообще говоря, задача не имеет смысла. Возможно там действительно равновероятные переходы. Уточняйте условие оттуда, где его взяли.
  • Как написать функцию sin из библиотеки math.h в Си?

    wataru
    @wataru Куратор тега Математика
    pinkhead_psd,

    оригинал выдает значение в радианах

    И я пытаюсь написать ее с нуля из либы math.h


    Ну так ваша функция уже принимает в радианах. Как и оригинальная. Все одинаково, все совпадает. Она, правда, не сходится для больших значений, и вы получите не -0.988032, Но не потому что у вас не в радианах, а потому что ряд тейлора имеет границу сходимости.

    Вам надо полные обороты (2pi) повычитать из угла. Отрицательные считать как минус значение для положительного, а потом, в зависимости от квадранта нужно еще преобразовать аргумент, как pi-x, чтобы в итоге аргумент в ряде тейлора всегда был от 0 до pi/2.
  • Как написать функцию sin из библиотеки math.h в Си?

    wataru
    @wataru Куратор тега Математика
    pinkhead_psd, т.е. вам надо отличное от стандартной функции поведение? Чтобы ваша функция получала угол в градусах? Ну тогда в самом начале функции переведите градусы в радианы (домножив аргумент на Pi/180.0).
  • Как решать подобные задачи?

    wataru
    @wataru Куратор тега Алгоритмы
    impelix, Ну, в самом начале можно сделать любой шаг. А в x надо считать сумму всех выведенных run. Грубо говоря cout << "run " << m - x%m << "\n"; x += m - x%m;

    Так же, в случае, когда floor(x/m) != k можно сдвинуть границу не выводя никаких команд.

    Еще надо очень аккуратно со смыслом l и r. Это границы которые искомая величина может принять? тогда в случае, если вы знаете, что m < ответа, надо присваивать l = m+1;. Если вы поняли, что ответ может быть и m, то надо присваивать без 1.

    Еще аккуратно посмотрите случай l==r-1: а не зависнет ли программа? Она потом спросит про l, но может ли прийти к выводу, что ответ >= m и не сдвинуть границы?

    Edit: и да, в k надо накапливать сумму всех ответов от системы, а не последний ответ. Суммарное количество оборотов.
  • Как решать подобные задачи?

    wataru
    @wataru Куратор тега Алгоритмы
    polak228, Да не, можно приспособить и бинарный поиск. Надо только помнить сколько вы метров уже суммарно прошли и сколько целых оборотов сделали.
  • Как решать подобные задачи?

    wataru
    @wataru Куратор тега Алгоритмы
    Тут только проблема в том, что последующие команды run k вы выполняете не с начала круга, а уже с накопленным пробегом. Так что можно перескочить за фишиш даже сделав шаг короче длины круга.
  • Что можно убрать чтобы оптимизировать затраты памяти?

    wataru
    @wataru Куратор тега C++
    impelix, охохо! ni <= 10^18. Вот вы столько цифр пытались запихать в массив. Конечно, оно падает по памяти, тут нужны миллионы терабайт. Да, надо складывать, как я написал в последнем комментарии: группа с группой.