Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.01.2009, 16:26   #1
BlackvsEvgen
Пользователь
 
Регистрация: 08.12.2008
Сообщений: 12
По умолчанию Вопрос по Графике.

Не знаю где задать вопрос, поэтому тему завел. Вот такой вопрос:
Надо написать программу чтоб шарих в параболле катался. так вот вопрос к какому разделу дэльфи такая прога относитса? С помощью чего ее писать? там с помощью OpenGL или надо с классом Canvas разбиратса? кто знает подскажите плиз, а то не знаю с чего начать изучать. И если кто-то знает где информация по этому поводу - дайте ссылку пожалуйста.

Последний раз редактировалось BlackvsEvgen; 18.01.2009 в 17:01.
BlackvsEvgen вне форума Ответить с цитированием
Старый 18.01.2009, 18:01   #2
Somebody
Участник клуба
 
Регистрация: 08.10.2007
Сообщений: 1,185
По умолчанию

Парабола - это 2D, шар - это 3D. Уточни, что именно надо.
Somebody вне форума Ответить с цитированием
Старый 18.01.2009, 18:09   #3
BlackvsEvgen
Пользователь
 
Регистрация: 08.12.2008
Сообщений: 12
По умолчанию

Somebody, получаетса в параболе тогда круг катаетса, значит все надо в 2D мне сделать.
BlackvsEvgen вне форума Ответить с цитированием
Старый 18.01.2009, 21:53   #4
BlackvsEvgen
Пользователь
 
Регистрация: 08.12.2008
Сообщений: 12
По умолчанию

Народ ну подскажите кто с графикой розбираетса, с помощью чего можна прогу сделать: параболу а внутри круг катался по ней. Не знаю с чего начать.
BlackvsEvgen вне форума Ответить с цитированием
Старый 18.01.2009, 22:00   #5
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,087
По умолчанию

Для этой задачи думаю canvas'a Вам хватит
pu4koff вне форума Ответить с цитированием
Старый 19.01.2009, 16:28   #6
BlackvsEvgen
Пользователь
 
Регистрация: 08.12.2008
Сообщений: 12
По умолчанию

pu4koff, а есть какие-нибудь соображения как это с помощью Canvasa сделать?
BlackvsEvgen вне форума Ответить с цитированием
Старый 19.01.2009, 16:48   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
BlackvsEvgen
Формулу параболы знаешь?
Рисовать на Canvas умеешь?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.01.2009, 19:16   #8
BlackvsEvgen
Пользователь
 
Регистрация: 08.12.2008
Сообщений: 12
По умолчанию

Stilet, формулу то знаю, не понятно как сделать чтоб в этой параболе круг вращаля при нажатии на стрелочки.
BlackvsEvgen вне форума Ответить с цитированием
Старый 21.01.2009, 14:10   #9
BlackvsEvgen
Пользователь
 
Регистрация: 08.12.2008
Сообщений: 12
По умолчанию

Народ объяснити пожалуйста, как в Сanvase график параболы сделать.
Два дня сижу блин все эту параболу мучаю. Я вот как бы нашел параболу, так немного не понятно как код работает

Var i : Integer; // Переменая счётчика
y, x : Real; // Координаты x и y
xc, yc : Integer; // Координаты центра О
Begin
xc := Round(350); // это я сделал чтоб на моей форме точно снизу начало былр
yc := Round(500);
x := - Form1.Width;// Вот эта Строка задает координаты левой ветки параболы? Вот когда этот код вставляю в обработчик Онпэинт на форме то ничего не отрисовываетса, если удаляю эту строчку из кода, то рисуетса только правоя ветка параболы. А если делать через компонент Имэйдж, то все нормально отрисовываетса. Что исправить чтоб на форме нормально рисовался?
// Построение графика.
For i := 1 To 500000 Do // А почему такой большой цикл???
Begin
x := x + 0.001;
y := x * x;
If (y < 450) And (y > -450 ) Then
Form1.Canvas.Pixels[Round(x * 10) + xc, yc - Round(y)]:=0;
End;
End;

Народ если кому не лень и время есть объясните. А то я прочитал и у Архангельского в книге и Библию Дельфи , ни как не могу понять как строить графики.
И еще вопрос а средствами OpenGL это можно сделать? Мне просто надо еще парабалоид вращения сделать чтоб его покрутить, повращать, так я вот думаю может не терять время на Canvas , а OpenGL учить.
BlackvsEvgen вне форума Ответить с цитированием
Старый 21.01.2009, 15:14   #10
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,087
По умолчанию

Вот побыстрому набросал Вам параболу. Не самый оптимальный вариант, но рисуется. Что еще надо для счастья
Принцип следующий:
Для точки на форме (0; y') расчитываем координату x для граффика. Потом по формуле параболы: y = x*x определяем координату y. Потом эту координату переводим в экранные и получаем y'. Помещаем перо рисования в координату (0; y');
Так же делаем расчет для экранной точки (1; y1') и проводим линию в эту точку. Потом (2; y2') и так проходим по всей форме слева на право по всей её ширине
Вложения
Тип файла: rar Парабола.rar (160.4 Кб, 35 просмотров)
pu4koff вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос!!! tigor Общие вопросы Delphi 11 23.10.2009 09:45
Вопрос наверное про функции, а так точно даже не знаю про что. (Вопрос начинющего #6) Albert2008 Общие вопросы Delphi 4 21.08.2008 15:33
вопрос по сокетам и общение как в ICQ.Сложный вопрос... Руслантус Общие вопросы C/C++ 2 12.08.2008 21:10
Вопрос Antik163RUS Паскаль, Turbo Pascal, PascalABC.NET 2 30.07.2008 15:15