Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Builder Подскажите, где можно обширно почитать о F1Book https://www.cyberforum.ru/ cpp-builder/ thread453507.html
Во всех извесный мне книгах один и тот же текст, 5 несчастных абзацев, взятых из Архангельского. Нужно что-то такое, где бы было написано, например, как объединить ячейки, как заокруглять, как...
Вертикальная гистограмма C++ Builder
Здравствуйте, мне нужно построить вертикальную гистограмму с количество симолов в строке текстового файла. Я погуглил и нашел, что это можно сделать с помощью компонента Crart....
C++ Builder Как в TLabel перенести строку при выводе в Caption
Добрый вечер. Возник вот такой мелкий вопрос.. Label1->Caption=' '; for(int i=0;i<2;i++) { for(int j=0;j<50;j++) Label1->Caption=Label1->Caption+' '+a; // как в этом месте объявить...
C++ Builder Музыка в программе В программе используется звуковой файл "error.wav" который я вызываю Form1->MediaPlayer1->FileName = "D:\\error.wav"; Form1->MediaPlayer1->Open(); Form1->MediaPlayer1->Play(); Но когда переношу... https://www.cyberforum.ru/ cpp-builder/ thread453453.html
C++ Builder Как дать доступ программе к портам, w7 https://www.cyberforum.ru/ cpp-builder/ thread453437.html
подскажите, может есть какой драйвер, как для XP и 98, что бы разрешать доступ ко всем портам exe файлу, может надстройка RTX это тоже делает?
C++ Builder Access Violation на XP
При тестировании проэкта написанном в Rad XE, на XP у меня выскакивает при выключении ПК Access Violation, а на win7 нет. Почитал эту статью, думаю немного понял о чем это сообщение но найти...
C++ Builder Ошибка при использовании класса
Решил написать чат. Написал маленький класс сервера: class ServChat { private: unsigned int unNumber; unsigned int umNumber; public: ServChat::ServChat();
C++ Builder Зависание программы после return. Может быть, логирование поможет? Приветствую! Программа виснет после return одной функции. Я останавливался там дебаггером, return проходит, после этого жму F8, в этот момент дебаггер теряет связь с программой: хочешь жми F8,... https://www.cyberforum.ru/ cpp-builder/ thread453377.html
C++ Builder Открыть папку "мой компьютер", "панель управления", "program files" https://www.cyberforum.ru/ cpp-builder/ thread453319.html
Нужно открыть папку "мой компьютер", "панель управления", "program files"
C++ Builder Рабочая область клиента. Развернуть форму на весь экран. В общем, если вкратце, то мое приложение: 1) сворачивается в трей с помощью TrayInfo; 2) закрывает панель задач: ShowWindow(FindWindow("Shell_TrayWn d",NULL),SW_HIDE); 3) открывает форму и... https://www.cyberforum.ru/ cpp-builder/ thread453316.html
0 / 0 / 1
Регистрация: 27.03.2011
Сообщений: 15
27.02.2012, 10:33  [ТС] 0

Программа построения эллипса по алгоритму Брезенхема

27.02.2012, 10:33. Просмотров 4785. Ответов 2
Метки (Все метки)

Лучший ответ Сообщение было отмечено Nazigul' как решение

Решение

Делала программу на окружность по этому алгоритму. а на эллипс перестроить что то не получается
вот код программы:



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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int x1,y1,yk = 0;
 
int sigma,delta,f;
 
int r,x,y;
Sleep(10);
 
x=StrToInt(Edit1->Text);
y=StrToInt(Edit2->Text);
r=StrToInt(Edit3->Text);
 
x1 = 0;
 
y1 = r;
 
delta = 2*(1-r);
 
  do                                      // Рисование окружности  
 
  { Sleep(10);
    Canvas->Pixels[x+x1][y+y1] = ColorBox1->Selected;// в первой четверти
 
    Canvas->Pixels[x-x1][y+y1] = ColorBox2->Selected;// во второй четверти
 
    Canvas->Pixels[x+x1][y-y1] = ColorBox3->Selected;// в третьей четверти
 
    Canvas->Pixels[x-x1][y-y1] = ColorBox4->Selected;// в последней четверти
 
    f = 0;
 
    if (y1 < yk)   //проверка радиуса
 
      break;  
 
    if (delta < 0)   // При delta<0  диагональная точка находится             внутри / /                      реальной окружности
 
    {
 
      sigma = 2*(delta+y1)-1;
 
      if (sigma <= 0)         // При sigma < 0 расстояние от окружности до / /   диагонального пиксела больше, чем до горизонтального
 
      {
 
        x1++;
 
        delta += 2*x1+1;
 
        f = 1;
 
      }
 
    }
 
    else
 
    if(delta > 0)//Если delta>0, то диагональная точка находится вне окружности
 
    {
 
      sigma = 2*(delta-x1)-1;
 
if (sigma > 0) //В cлучае sigma>0 расстояние от окружности до диагонального //пиксела больше и следует выбрать вертикальное движение к пикселу
 
      {
 
        y1--;
 
        delta += 1-2*y1;
 
      f = 1;
 
      }
 
    }
 
    if (!f)
 
    {
 
      x1++;
 
      y1--;
 
      delta += 2*(x1-y1-1);
 
    }
 
  }
 
  while(1);        
}
//---------------------------------------------------------------------------

Вернуться к обсуждению:
Программа построения эллипса по алгоритму Брезенхема
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.02.2012, 10:33

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Алгоритм Брезенхема построения окружности на С++
помогите найти или написать программу алгоритм Брезенхема построения окружности на С++ для Borland...

Алгоритм построения прямых линий Брезенхема (Visual Studio)
Всем привет! Подскажите, пожалуйста, как реализовать &quot;Алгоритм построения прямых линий Брезенхема&quot;...

Реализовать алгоритм Брезенхема, для дуг окружности и дуг эллипса
Надо реализоавать алгоритм Брезенхема, для дуг окружности и дуг эллипса. Для окружности и самого...

Изменение угла для построения эллипса
НУжно повернуть эллипс на определенный угол

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