2015-10-13 6 views
0

Я понимаю, как рассчитать гипотенузу a^2 + b^2 = c^2, sqrt (c) = гипотенуза. И я знаю, что есть некоторые релевантные ответы уже на stackoverflow, но они погружены в терминологию. Я пока не понимаю, как начинающий программист.C++ Создание функции для рисования гипотенузы - Тригонометрия

Поскольку это более ориентированное на программирование, я также не смог найти что-либо важное на математических сайтах.

Если у вас есть правильный угол треугольника

   * | 
    7.07 *  | 5 
     *  | 
    *   | 
*_ _ _ _ _ | 
     5 

Как приращение х и у (х, у) в декартовой формате, так что я могу рисовать в пикселях SetPixel (myDC, х, у, ЦВЕТ);

Я как-то понимаю понятие греха, cos и tan и их обратные, но не может для меня жизни выяснить, как увеличивать (x, y) вместе с размером соседней и противоположной длины.

+2

По какой-либо причине вы не можете просто нарисовать линию с помощью 'MoveTo' и' LineTo'? –

+3

Если вы действительно хотите растрировать линию самостоятельно, взгляните на [алгоритм линии Брешенема] (https://en.wikipedia.org/wiki/Bresenham's_line_algorithm). – matz

+0

Если вы пытаетесь узнать, как рисовать линию, вам нужно понять алгоритмы [line drawing] (https://en.wikipedia.org/wiki/Line_drawing_algorithm). Однако, если вы просто хотите нарисовать треугольник, используйте то, что предлагает @IgorTandetnik. – legends2k

ответ

1

Ну, они будут увеличиваться относительно друг друга. Итак, если ножки треугольника имеют одинаковую длину, то приращения x и y также должны быть равны. Аналогично, если одна нога - это, скажем, 3 и другая 4, то x и y следует увеличивать так, чтобы для каждого x и y приращения (x, y), x = 4y/3 или y = 4x/3.

1

Вы можете нарисовать гипотенузу с графическими функциями для рисования линий между двумя точками. В противном случае вы можете рассчитать уравнение прямой линии, проходящее для двух точек: y = mx + n, и вы избегаете функций тригонометрии.

Смежные вопросы