Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
0 / 0 / 0
Регистрация: 18.11.2016
Сообщений: 5

Сделать рисунок параболы более гладким

18.11.2016, 01:54. Показов 2756. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет! Помогите сделать рисунок параболы более гладким. Код пишется через LineTo и нужно это сделать ТОЛЬКО ПРИ ПОМОЩИ LineTo. Всем заранее спасибо! Вот код:

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
void __fastcall TForm1::Button1Click(TObject *Sender)
{
//os x
Image1->Canvas->MoveTo(20,Image1->Height/2);
Image1->Canvas->LineTo(Image1->Width-20,Image1->Height/2);
Image1->Canvas->LineTo(Image1->Width-20-5,Image1->Height/2-5);
Image1->Canvas->LineTo(Image1->Width-20,Image1->Height/2);
Image1->Canvas->LineTo(Image1->Width-20-5,Image1->Height/2+6);
 
//tick x
for (int i=Image1->Width/2; i<Image1->Width-30; i+=20){
     Image1->Canvas->MoveTo(i,Image1->Height/2-3);
     Image1->Canvas->LineTo(i,Image1->Height/2+3);
     }
for (int i=Image1->Width/2; i>30; i-=20){
     Image1->Canvas->MoveTo(i,Image1->Height/2-3);
     Image1->Canvas->LineTo(i,Image1->Height/2+3);
     }
 
//os y
Image1->Canvas->MoveTo(Image1->Width/2,Image1->Height-20);
Image1->Canvas->LineTo(Image1->Width/2,20);
Image1->Canvas->LineTo(Image1->Width/2-5,20+5);
Image1->Canvas->LineTo(Image1->Width/2,20);
Image1->Canvas->LineTo(Image1->Width/2+6,20+6);
 
//tick y
for (int i=Image1->Height/2; i<Image1->Height-30; i+=20){
     Image1->Canvas->MoveTo(Image1->Width/2-3,i);
     Image1->Canvas->LineTo(Image1->Width/2+3,i);
     }
for (int i=Image1->Height/2; i>30; i-=20){
     Image1->Canvas->MoveTo(Image1->Width/2-3,i);
     Image1->Canvas->LineTo(Image1->Width/2+3,i);
     }
 
//график
 
int y = -1;
int x = -1;
 
 
Image1->Canvas->Pen->Width = 2;
      for (x=-100; x<100; x++){
             y=x*x;
              if (x==-100)
 
               Image1->Canvas->MoveTo(x*20+Image1->Width/2,-y*20+Image1->Height/2);
               Image1->Canvas->LineTo(x*20+Image1->Width/2,-y*20+Image1->Height/2);
     }
Image1->Canvas->Pen->Width = 1;
 
 
 
}
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.11.2016, 01:54
Ответы с готовыми решениями:

Сделать график более гладким
Вот например есть график который задаётся так...(изначално задавать его например так &quot;x=&quot; нельзя) x= y= plot(x,y,'-') в...

Реализовать метод, вычисляющий расстояние от вершины параболы до начала координат и суммирующий две параболы
помогите сделать лабораторную Структура «парабола» представлена тремя полями a, b, c. (ax2+bx+c) . Реализовать метод, вычисляющий...

Для каждой параболы вывести уравнение, найти эктремумы; выяснить совпадают или пересекаются эти параболы
Вот само задание: http://i.**********/ZOUVXmQ.jpg П.5.18.Правил Запрещено размещать задания и решения в виде картинок и других файлов с...

3
+1
345 / 178 / 53
Регистрация: 24.08.2010
Сообщений: 1,028
18.11.2016, 06:20
Лучший ответ Сообщение было отмечено Senya1307 как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
//график
 
int y = 10000;
int x = -100;
 
Image1->Canvas->Pen->Width = 3;
Image1->Canvas->MoveTo(x+Image1->Width/2,-y/20+Image1->Height/2);
for (x=-100; x<100; x++){
    y=x*x;
    Image1->Canvas->LineTo(x+Image1->Width/2,-y/20+Image1->Height/2);
    }
Image1->Canvas->Pen->Width = 1;
0
0 / 0 / 0
Регистрация: 18.11.2016
Сообщений: 5
18.11.2016, 15:09  [ТС]
+1, а если я подставлю другое уравнение графика например "y=x*x+2*x+1", как тогда?
0
+1
345 / 178 / 53
Регистрация: 24.08.2010
Сообщений: 1,028
18.11.2016, 21:53
ну, от изначального варианта,ты делал шаг х*20
чтобы было более-менее гладко, делай просчет по оси х без таких больших пробелов.
и всё.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.11.2016, 21:53
Помогаю со студенческими работами здесь

Сделать рисунок в турбо паскале. И нужно сделать чтобы картника двигалась при нажатии на стрелки
(Ссылка на сторонний ресурс удалена)

Маленький шарик совершает гармонические колебания по двум гладким плоскостям
Маленький шарик совершает гармонические колебания с частотой v без трения вниз и вверх по двум гладким плоскостям, наклонённым под углом Y...

Сделать рисунок
Здравствуйте! Помогите нарисовать вот такой рисунок в PascalABC

Сделать рисунок кнопкой
Как можно сделать рисунок кнопкой или стандартный вид кнопки заменить на рисунок с компьютера? И, желательно, чтобы были 3 разных...

Сделать этот рисунок в фотошопе
Кто может сделать этот рисунок? В фш пытаюсь, никак не получается.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru