• Как правильно построить поле зрения?

    samodum
    @samodum
    Какой вопрос - такой и ответ
    Школьная геометрия.
    1) Сначала вычисляем угол, куда (X, Y) игрок (x0, y0) смотрит:
    dx = X - x0; dy = Y = y0;
    d = sqrt(dx*dx + dy*dy); - длина отрезка
    alpha = arccos(dx/d); - вычисляем угол. Здесь нужно будет дополнить, т.к. знак может потеряться. Смотри на dx и dy.

    2). Теперь строим угол обзора (betaLeft, betaRight):
    betaLeft = alpha - ugObz/2;
    betaRight = alpha + ugObz/2;

    3). Всё. Теперь вычисляем точки, через которые будет проходить линия обзора:
    xL = x0 + cos(betaLeft) * Radius;
    yL = y0 + sin(betaLeft) * Radius;
    xR = x0 + cos(betaRight) * Radius;
    yR = y0 + sin(betaRight) * Radius;

    И строишь через эти точки бесконечную линию, чтобы она выходила за пределы экрана. Можешь для этого подобрать Radius такой, чтобы он был больше разрешения экрана
    Ответ написан
    Комментировать
  • Почему ингорируется тело цикла?

    Griboks
    @Griboks
    int a = array[i];
    array[i] = a;


    Вас это код не смущает?
    Ответ написан
    Комментировать