Ответы пользователя по тегу Математика
  • Как решить задачу на логику и математику в Python?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    b1 - километров в первый день
    p - прирост в %
    D - длина марафона
    Решение:
    1) Знаменатель прогрессии:
    q = 1+p/100

    2) Сумма первых членов прогрессии:
    S = b1*(1-q^n)/(1-q)

    S >= D

    b1*(1-q^n)/(1-q) >= D

    q^n >= 1-D*(1-q)/b1

    log_q(q^n) >= log_q(1-D*(1-q)/b1)

    n >= log_q(1-D*(1-q)/b1)
    Ответ написан
    Комментировать
  • Зачем нужна нумерация формул?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    Затем же, зачем нумеруют таблицы, рисунки, параграфы, список литературы и т.п. - чтобы можно упомянуть в тексте и это было однозначной ссылкой, как уже было сказано выше
    Ответ написан
    Комментировать
  • Какие учебники для глубокого изучения школьной алгебры и геометрии вы можете посоветовать?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    Почти любая методичка для начальных курсов почти любого ВУЗа подойдёт. Матан, линейная алгебра, стереометрия, теорвер и т.п. - всё это так или иначе изучается во всех ВУЗах и это логическое продолжение школьной математики.
    Ответ написан
  • Как на плоскости рисуется объект с координатами xyz?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    Каждая из точек проецируется на плоскость, после этого точки соединяются.

    В комп графике используются векторы и матрицы - вектором задаётся точка, +есть матрица проекции. Вектор умножается на матрицу, получается новые вектор - проекция первого.
    Ответ написан
    Комментировать
  • Как вывести формулу для построения графика?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    Надо каждое из значений разделить на максимум из этих значений. Если нужны проценты, а не доля от единицы, потом умножить на 100%.
    Ответ написан
    Комментировать
  • Зачем нужно знать эффективность\сложность алгоритма?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    Выше всё верно написали.
    Вот тут есть наглядно про сложность, а также про сложность многих классических алгоритмов. Для того чтобы понять и въехать - самое то.
    Ответ написан
    1 комментарий
  • Как узнать что за фигура через вектора?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    Сделать кучку правил и проверок для каждой фигуры. Например:

    Треугольник: 3 вектора, такие что
    c=±a±b
    Тут следует понять, что это может быть и
    a=±c±b
    или
    b=±a±c

    Прямоугольный треугольник: 3 вектора, такие что
    скалярное произведение одной из пар векторов равно нулю (или же угол 90 градусов)
    +Правило для треугольника

    Равнобедренный треугольник: 3 вектора, такие что
    какая-то из пар векторов равна(или же есть два равных угла)
    +Правило для треугольника

    Равносторонний треугольник: 3 вектора, такие что их модули равны
    |a|=|b|=|c|
    +Правило для треугольника
    и т.п.
    Ответ написан
    5 комментариев
  • Как исключить столкновение двух окружностей?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    Есть много вариантов как это можно сделать. Один из них:
    1) Переводите обычные декартовы координаты в полярные. Тогда центр второй относительно центра первой будет на расстоянии
    r=R1+R2
    2) Далее или выбираете фи произвольно, или же проходите с неким шагов весь круг, рассчитывая расстояние между центром второй окружности сейчас и центром второй окружности после двигания. Нужно выбрать минимум функции, тогда движение будет минимальным.
    3) Перевести полярные обратно в декартовы
    Ответ написан
    Комментировать
  • На какую сумму чайник вскипятил воду?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    Я лет 18 назад, в 7 классе, так КПД чайника искал. Получилось точно 50%.

    Формулу, кстати, можно вывести прямо из размерностей
    Дж = Вт * с = В * A * с
    руб = руб/[кВт*ч] * кВт * ч

    т.е.
    Работа = Мощность * Время = Напряжение * Ток * Время
    Деньги = Работа * Тариф

    Только нужно не забывать, что для удобства обывателя тариф в кВт*ч, а не в Дж, т.е.
    1000*Вт*3600*с = 3600000Дж = 3,6*МДж
    Ответ написан
  • Как найти координаты вершины треугольника если известны координаты двух других и длины всех сторон?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    1) Строим из точки A окружность с радиусом AC
    (x-xA)^2 + (y-yA)^2 = R^2 = AC^2
    2) Строим из точки B окружность с радиусом BC
    (x-xB)^2 + (y-yB)^2 = R^2 = BC^2
    3) Решаем систему уравнений, получаем 0(пересечений нет), 1(пересечение в одной точке, касание) или 2 действительных корня(пересечение в 2х точках). Это и есть возможные варианты точки C.
    Можно найти x, а потом подставить в любое из уравнений и получить y, или же наоборот.
    Ответ написан
    Комментировать
  • Как изменить формулу урона в секунду?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    DPS2 = ((NormalDamage + CritDamage) * AttackSpeed) * SuperDamageMultiplier / N
    Ответ написан
  • Как найти угол между осью Y+ и линией проведённой к точке на системе координат?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    Тут проще всего использовать скалярное произведение. В данном случае, единичного вектора вдоль Y (единичный, т.к. потом проще считать), и радиус-вектора точки. Из готового скалярного произведения можно найти косинус угла, а из него и сам угол
    Ответ написан
    Комментировать
  • Формулы 3д обектов?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    Матрицы и линейная алгебра с ними связанная, используются для трансформации точек. Например, есть матрица, которая поворачивает вектор на определенный угол. Вектор(радиус-вектор), в данном случае, заменяет собой точку. Матрица, на которую надо умножить вектор (и получить другой вектор) - преобразование. Есть много всяких преобразований - проекции, вращения, масштабирование, перемещение и т.п.
    Можно всё это сделать примитивно с помощью формул школьной геометрии, но суть матриц - в том что такие операции могут быть вычислены на видеокарте, что гораздо быстрее.
    1) Углубиться в линейную алгебру - понятие векторов, матриц, преобразований матриц, умножение и т.п.
    2) Углубиться в геометрию, хватит школьного уровня - векторы и операции с ними.

    Если нужно "только нарисовать", то можно обойтись школьной математикой:
    Xпроекции = X*cos(xx) + Y*cos(xy) + Z*cos(xz)
    Yпроекции = X*cos(yx) + Y*cos(yy) + Z*cos(yz)

    ,где
    xx - угол между новой осью X и старой X (0)
    xy - угол между новой осью X и старой Y (90)
    xz - угол между новой осью X и старой Z (240)
    yx - угол между новой осью Y и старой X (-90)
    yy - угол между новой осью Y и старой Y (0)
    yz - угол между новой осью Y и старой Z (150)
    Углы в скобках - как пример, когда ось Z находится в 3 четверти под 45 градусов.
    Тогда:
    Xпроекции = X + Z*cos(xz)
    Yпроекции = Y + Z*cos(yz)

    Берите объект как массив точек (для начала куб например - 8 точек) и присваивайте сначала координаты XYZ, а потом пересчитывайте их по этой формуле и отображайте на экране. И всё будет работать.
    PS: в школе ещё, как только появились векторы, дошел до этих формул сам; пока выводил - исписал 12листовую тетрадку.
    Ответ написан
    Комментировать
  • Найти точки окружности?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    Несколько дней назад был аналогичный вопрос. Посмотрите мой ответ, есть и формулы и объяснение как это работает
    Ответ написан
    2 комментария
  • Как разложить кол-во точек по окружности?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    Если нужно именно точки по окружности размещать, то проще всего делать это в полярной системе координат. Формулы для пересчёта такие:
    x = R*cos(phi) + x0
    y = R*sin(phi) + y0

    ,где R - радиус окружности, phi - угол поворота от оси x против часовой стрелки, центр окружности находится в точке M(x0, y0). Соответственно если нужно N точек, то
    phi = (0,1,2...N-1)*(2*pi/N)
    Ответ написан
    2 комментария
  • Как конвертировать BASE62 в BINARY?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    Большого выигрыша не получить. 62 и 256 - это соответственно 6 и 8 бит, т.е. экономия максимум 25%.
    Как преобразовать, есть несколько вариантов:
    1) преобразовать каждый символ в строке в бинарный код по 6 бит, дополнить общую результирующую строку до длины кратной 8, преобразовать 8ки бит в символы.
    2) Составить таблицу по 4 символа base62, которым будет однозначно соответствовать 3 символа base256. Дополнять строку до длины кратной 4 символам, брать по 4 символа и из таблицы им будет соответствовать 3 символа base256
    Это классическая задачка по информатике на изменение системы счисления с 8 на 16 или 8 в 2, например, без другой промежуточной.
    Общее правило, которое я ещё в школе придумал для себя: если a,b - системы счисления и если a^N = b^M, то каждые N символов в системе a заменяется на M символов в системе b.
    Например:
    перевести 10101010101010101010101 из двоичной в 8ричную систему: [2^3 = 8^1]
    (0)10 101 010 101 010 101 010 101 (_2) = 25252525 (_8)
    перевести 102301023001230 из 4й в 8ричную систему: [4^3 = 8^2]
    102 301 023 001 230 (_4) = 22 61 13 01 54 (_8)
    Ответ написан
  • Как нарисовать луч функцией исходя из двух точек и на луче вычислить пересечение перпендикуляра от третей точки?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    1) Вычислить уравнение прямой, походящей через точки 1 и 2
    (x − x₁) / (x₂ − x₁) = (y − y₁) / (y₂ − y₁)
    выражаем у через х, получим уравнение
    y = a₁x + b₁
    2) Построить перпендикуляр из точки к прямой из пункта 1)
    (y – y₃) = -1/a₁ * (x - x₃)
    и выразить у через х, получится
    y = a₂x + b₂
    3) Есть уравнения прямых - надо найти пересечение, т.е. решить систему двух линейных уравнений. Тут методов масса - от простых преобразований до матриц. т.к. у нас уравнения в виде y=f(x), то можно сделать так:
    приравниваем уравнения 1 и 2, избавляемся тем самым от y
    вычисляем x
    подставляем найденное x в любое уравнение
    Ответ написан
    1 комментарий
  • Как посчитать бесконечную сумму?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    1) sum=0; n=0;
    2) посчитать S(n)
    3) если S(n)>ε то 4) иначе выход
    4) sum+=S(n); n++;
    5)Перейти на 2)
    Ответ написан
    2 комментария
  • Как учить математику?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    Школьную программу наверстать легко - в школе программа почти по любому предмету устроена по принципу спирали, т.е. достаточно просто повторить всё за 10-11 классы. В качестве самодиагностики можно использовать КИМы ЕГЭ, сейчас их даже онлайн целая куча, там же (онлайн) ищите видеоуроки по решению тех или иных задач.
    Ответ написан
    Комментировать
  • Как составлять формулы в мат.логике?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    Самый универсальный вариант - составить таблицу истинности, а по ней составить СКНФ или СДНФ
    Ответ написан
    Комментировать