Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ DNS https://www.cyberforum.ru/ cpp/ thread300968.html
помогите пожалуйста с написанием простейшей программы работы DNS-сервера с базой данных
C++ Документация c++
Знаю что есть просто суперская документация по java, сам пользуюсь не нарадуюсь, есть нормальная ли документация по с++? php? кроме MSDN, где надо вводить имя класса, а так чтобы посмотреть иерархию...
realloc и вызов конструктора C++
здраствуйте! мне препод сказал, что можно выделить память оператором new, а потом довыделить её с помощью realloc и каким-то образом вызвать конструкторы для новой памяти(ну или это я так его...
C++ Что это за компонент? Всем привет. Кто ни будь, знает в какой библиотеке есть компоненты: TLight и TTrend ? Знакомы ли вообще такие названия кому ни будь? https://www.cyberforum.ru/ cpp/ thread300352.html
C++ Visual C++ и Builder C++ сильно отличаются друг от друга? https://www.cyberforum.ru/ cpp/ thread300349.html
Доброго времени суток. У меня такой вопрос, Visual C++ и Builder C++ сильно отличаются друг от друга? Например если прога была написана в Visual, то будет ли она корректно работать в Builder?
Комментарий в коде C++
как в С++ делать коментр?? в паскале так: { bla bla} а в С++ как???
Списки, динамическая память и указатели C++
Нужна помощь! Требуется написать функцию rearrangment( ), меняющую i-ю и j-ю строки текста. То бишь нужно создать однонаправленный список, в который заносится построчно текст какой-либо уже...
C++ Найти решение - на разные темы Доброго времени суток!!! Уважаемые форумчанины, требуется помощь в решении задач по С++. За 1,5 месяца не смог разобраться ни в одном компиляторе. У меня видимо руки не оттуда растут, или эти... https://www.cyberforum.ru/ cpp/ thread298385.html
C++ После всякиго ли компилятора c++ будут гарантирвоано правильно исполняться код, соответствющий этим строкам? https://www.cyberforum.ru/ cpp/ thread297528.html
После всякиго ли компилятора c++ будут гарантирвоано правильно исполняться код, соответствующий этим: a=a; // Удвоение a*=a; // Возведение в квадрат строкам. 1. На сколько надёжно компилится...
C++ C++ и принтеры Приветствую уважаемые программисты! У меня есть сканер и принтер, и достаточно много документов которые нужно ксерить. Просто нажимать "сканировать", потом "печать" уже надоело. Появилась идея... https://www.cyberforum.ru/ cpp/ thread296098.html
119 / 68 / 17
Регистрация: 17.11.2009
Сообщений: 261
0

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

21.05.2011, 18:43. Просмотров 1322. Ответов 0
Метки (Все метки)

Здравствуйте уважаемые форумчане!

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

Аршин. На нижней стороне прямоугольника 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 в консоли

У меня получается что прямая вращается и уходит за экран. Но мне надо сделать что бы по периметру экрана вращалась прямая. Жду вашей помощи.

Вернуться к обсуждению:
BGI библиотека вращение прямой
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.05.2011, 18:43
Готовые ответы и решения:

Вращение объекта. Библиотека OpenGL.
Всем привет. У меня в работе подключены эти библиотеки:#include &lt;vcl.h&gt; #include &lt;math.h&gt;...

Вращение прямой
Как нарисовать прямую и чтобы она вращалась вокруг своей оси пробовала с помощью graphics.h но...

BGI
как сделать BGI проект через Release (в Debug работает но для других компьютеров не подходит) ...

BGI graphics.h
#include &quot;graphics.h&quot; #include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;stdlib.h&gt; ...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.