Форум программистов, компьютерный форум CyberForum.ru

BGI библиотека вращение прямой - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ DNS http://www.cyberforum.ru/cpp/thread300968.html
помогите пожалуйста с написанием простейшей программы работы DNS-сервера с базой данных
C++ Документация c++ Знаю что есть просто суперская документация по java, сам пользуюсь не нарадуюсь, есть нормальная ли документация по с++? php? кроме MSDN, где надо вводить имя класса, а так чтобы посмотреть иерархию и выбрать что нужно? http://www.cyberforum.ru/cpp/thread300940.html
C++ Что это за компонент?
Всем привет. Кто ни будь, знает в какой библиотеке есть компоненты: TLight и TTrend ? Знакомы ли вообще такие названия кому ни будь?
Visual C++ и Builder C++ сильно отличаются друг от друга? C++
Доброго времени суток. У меня такой вопрос, Visual C++ и Builder C++ сильно отличаются друг от друга? Например если прога была написана в Visual, то будет ли она корректно работать в Builder?
C++ НОК одномерного массива http://www.cyberforum.ru/cpp/thread300092.html
Доброго времени суток! Помогите пожалуйста с решением вот такой задачи: Найти наименьшее общее кратное в заданной последовательности натуральных чисел. сколько бы я не пытался выжать из себя код ничего лучше этого на ум не приходит. скажите пожалуйста как нужно изменить этот код чтобы работал правильно! А то находит программа кратные не общие, а для каждого и не наименьшие, а все! число...
C++ Комментарий в коде как в С++ делать коментр?? в паскале так: { bla bla} а в С++ как??? подробнее

Показать сообщение отдельно
UKOL
 Аватар для UKOL
112 / 64 / 7
Регистрация: 17.11.2009
Сообщений: 258
21.05.2011, 18:43     BGI библиотека вращение прямой
Здравствуйте уважаемые форумчане!

Вот беда, не могу справиться с компьютерной графикой. Прошу вашей помощи.
Вот задача:

Аршин. На нижней стороне прямоугольника CDEF (экрана) лежит отрезок AB длиной L. Поворачивая его на 180° (с мелким шагом dfi = 5°) вокруг точки B совместить с прямой. Затем осуществить поворот вокруг точки A и т.д., чередуя A и B осуществить обход по внутренней стороне периметра CDEF. При приближении к границе прямоугольника проверять укладывается ли отрезок до края экрана. Если нет, то поворот надо выполнять на угол 180 - arcsin(dD/L). Где dD расстояние от отрезка до края.

Вот мой код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#include <graphics.h>
#include <math.h>
#include <conio.h>
#include <dos.h>
#include <stdlib.h>
#include <stdio.h>
 
void init(void)
{
    int gdriver = DETECT, gmode, errorcode;
    initgraph(&gdriver, &gmode, "D:\\BORLANDC\\BGI\\");
    errorcode = graphresult();
 
    if(errorcode != grOk)
    {
        printf("Graphics errore: %s\n", grapherrormsg(errorcode));
        printf("Press any key to halt: ");
        getch();
        exit(1);
    }
}
 
void main()
{
    //float Cos = cos(5*M_PI/180);
    //float Sin = sin(5*M_PI/180);
    init();
    int L = 100;
    float x1=100, y1=getmaxy(), x2=x1+L, y2=getmaxy();
    float x, y;
    setcolor(RED);
    line(x1,y1,x2,y2);
    getch();
 
    for(int i = 0; !kbhit(); i+=5)
    {
        clearviewport();
        if(i<=180)
        {
            x1 = x2-L*cos(i*M_PI/180);
            y1 = y2-L*sin(i*M_PI/180);
        }
        else
        {
            if(i<=360)
            {
                x2 = x1-L*cos((i+180)*M_PI/180);
                y2 = y1-L*sin((i+180)*M_PI/180);
            }
        }
        if(i>=360)
        {
            i = 0;
        }
 
        setcolor(GREEN);
        line(x1,y1,x2,y2);
        //delay(50);
    }
 
    getch();
    closegraph();
}
Делал на BORLAND C 3.1 в консоли

У меня получается что прямая вращается и уходит за экран. Но мне надо сделать что бы по периметру экрана вращалась прямая. Жду вашей помощи.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru