IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Графика
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 6
Пол: Мужской

Репутация: -  0  +


Помогите написать програми времени уже савсем неуспеваю:(
нарисовать график:
y=sinX+3;

Нарисовать анимацию:
Шатающевовася подсолнуха
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


Цитата
уже савсем неуспеваю:(

А шо, таки призыв в РА уже объявлен? blum.gif

Цитата
нарисовать график:

Поиск по образцу "построение графика функции"
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





Группа: Пользователи
Сообщений: 6
Пол: Мужской

Репутация: -  0  +


В РА мне не грозит:)
а так не успеваю:(
Собствена график уже нарисовал:)
а вот анимацию......
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


Цитата
а вот анимацию......
А чего уж такого сложного?
Сам цветок рисуется элементарно (окружностями). А анимацию можно получить, сгибая стебель, например
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5





Группа: Пользователи
Сообщений: 6
Пол: Мужской

Репутация: -  0  +


Цитата(Ozzя @ 26.03.2010 15:00) *

А чего уж такого сложного?
Сам цветок рисуется элементарно (окружностями). А анимацию можно получить, сгибая стебель, например

Помогите тогда плиз:)
а то мне даже на цветок смотреть страшна..sad.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


Цитата
Помогите тогда плиз:)

Да не проблема. Вот только одну окружность нарисуй. А цветок из них я тебе сделаю
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7





Группа: Пользователи
Сообщений: 6
Пол: Мужской

Репутация: -  0  +


М_м не совсем понял што ви имеете в виду, ну вот мои наброски...

program gr_1;
uses graph,crt;
var r1, rad, i, grDriver, grMode, errCode : integer;



begin
grDriver:=detect;
InitGraph(grDriver,grMode,'\bp\bgi\');
errCode:=GraphResult;
if errCode=grOk then begin
{for i:=1 to 999 do begin }
setcolor(14);
circle(320+i,200+i,75);
{ floodfill(330,210,yellow);}
circle(320+i,200+i,50);

setcolor(18);
setlinestyle(0,99,0);
{circle(320,340,);}
line(320,273,320,480);
{end;}
readln;

closegraph;{ўi¤¬i­  ०Ё¬г Ја дiЄЁ}


end;
end.


.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


program gr_1;
uses
graph,crt;
var
i, grDriver, grMode, errCode : integer;

procedure PodSolnuh(x,y: Integer);
var
rsmall,rad : Integer;
begin
rad:=75;
rsmall:=30;
setcolor(Yellow);
circle(x,y,rad);
SetFillStyle(1,yellow);
floodfill(x-1,y-1,yellow);
setcolor(White);
SetFillStyle(1,White);
circle(x+rad,y-rad,rsmall);
floodfill(x+rad,y-rad,White);
circle(x+rad,y+rad,rsmall);
floodfill(x+rad,y+rad,White);
circle(x-rad,y+rad,rsmall);
floodfill(x-rad,y+rad,White);
circle(x-rad,y-rad,rsmall);
floodfill(x-rad,y-rad,White);
circle(x,y-rad-rsmall ,rsmall);
floodfill(x,y-rad-rsmall,White);
circle(x,y+rad+rsmall ,rsmall);
floodfill(x,y+rad+rsmall,White);
circle(x+rad+rsmall,y ,rsmall);
floodfill(x+rad+rsmall,y,White);
circle(x-rad-rsmall,y ,rsmall);
floodfill(x-rad-rsmall,y,White);
end;

begin
grDriver:=detect;
InitGraph(grDriver,grMode,'\bp\bgi\');
errCode:=GraphResult;
if errCode=grOk then
begin
for i:=1 to 4 do
begin
podsolnuh(GetMaxX div 2 - i*100 ,GetMaxY div 2 + i*100);
Delay(200);
ClearviewPort;
end;
readln;
end;
closegraph;
end.

Рисуется и стирается подсолнух (без стебля).
Простейшая анимация - подсолнух рисуется, стирается - меняются координаты - снова/заново

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Гость






Что-то больше на ромашку похоже, чем на подсолнух smile.gif

Оззя, кстати, у тебя нигде нет формулы для отрисовки фрактала - подсолнуха?... Где-то давно видел, теперь найти не могу. Просто для коллекции, я понимаю, что в этой теме делать движущийся фрактал - не совсем то, что нужно...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


Ну-да smile.gif
Лепестки ж эллипсами надо отрисовывать. А рисование эллипса под наклоном под эту задачу - перебор, кажется.
Не, кода фрактального подсолнуха не встречал.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Гость






Цитата
А рисование эллипса под наклоном под эту задачу - перебор, кажется.
Ну, не настолько это сложно как может показаться.

Может, топикстартеру и не пригодится, но красиво получается smile.gif Может, кто-нибудь и использует когда потребуется.

program gr_1;
uses
graph, crt;
const
r2d = 180/Pi;

procedure DrawEllipse(xCenter, yCenter, Angle: integer);
const
a = 15;
b = 30;
var
Alpha, Phi, fX, fY: double;
i, X, Y: Integer;
begin
Alpha := Angle/r2d;
for i := 0 to 359 do
begin
Phi := i / r2d;
fX := a * Cos(phi);
fY := b * Sin(phi);
X := Trunc(xCenter + fX * Cos(Alpha) - fY * Sin(Alpha));
Y := Trunc(yCenter + fX * Sin(Alpha) + fY * Cos(Alpha));
PutPixel(X, Y, Yellow);
end;
FloodFill(xCenter, yCenter, Yellow)
end;


procedure SunFlower(X, Y: Integer);
const
RCircle = 75;
var
i, dist: integer;
phi: real;
begin
SetColor(Yellow);
SetFillStyle(SolidFill, Yellow);
FillEllipse(X, Y, RCircle, RCircle);

dist := (3 * RCircle div 2);
for i := 0 to 359 do
begin
if i mod 20 <> 0 then continue;
phi := i / r2d;

DrawEllipse(Trunc(x + dist*cos(phi)),
Trunc(y - dist*sin(phi)), 450 - i);
end;
end;

var
i, grDriver, grMode, errCode: integer;


begin
grDriver := Detect;
InitGraph(grDriver, grMode, '');

errCode := GraphResult;
if errCode = grOk then
begin
i := 1;
SunFlower(GetMaxX div 2 - i*100, GetMaxY div 2 + i*100);
readln;
end;
closegraph;
end.
(Движение добавлять не стал, это вообще элементарно)
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Профи
****

Группа: Пользователи
Сообщений: 865
Пол: Мужской
Реальное имя: Вячеслав

Репутация: -  20  +


прикрепите скрин плз, охото глянуть что получилось smile.gif (у меня виста... smile.gif )

Сообщение отредактировано: Client -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(Client @ 26.03.2010 22:58) *
прикрепите скрин плз, охото глянуть что получилось smile.gif (у меня виста... smile.gif )

1. TP/BP прекрасно идет на Vista-32. Проблема не в Висте, а в 64-разрядности.
2. Обе проги замечательно компилируются FPC на моей W7-64 smile.gif


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #14


Профи
****

Группа: Пользователи
Сообщений: 865
Пол: Мужской
Реальное имя: Вячеслав

Репутация: -  20  +


у меня 32 битная и ни один проект с графикой на ТР не идет. А FPC нету smile.gif пойду скачаю...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #15


Я.
****

Группа: Пользователи
Сообщений: 809
Пол: Мужской
Реальное имя: Саша

Репутация: -  11  +


Вот когда-то тоже похожую программку делал), только солнышко smile.gif Появился вопросик: floodfill так и должен долго отрисовывать заливку?

Сообщение отредактировано: sheka -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #16


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(Client @ 26.03.2010 23:16) *
у меня 32 битная и ни один проект с графикой на ТР не идет.
А, ну да, сорри, она же полнооконная.. Извиняюсь )).


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #17


Гость






Цитата
floodfill так и должен долго отрисовывать заливку?
Не знаю, насчет должен или нет, но всегда FloodFill был намного медленнее, чем отрисовка заполненной фигуры (Bar будет быстрее чем Rectangle+FloodFill, а FillEllipse - быстрее Circle+FloodFill).

Вот что рисует мой код:
Прикрепленное изображение
А вот это - Оззин:
Прикрепленное изображение
 К началу страницы 
+ Ответить 
сообщение
Сообщение #18


Профи
****

Группа: Пользователи
Сообщений: 865
Пол: Мужской
Реальное имя: Вячеслав

Репутация: -  20  +


солнышко супер smile.gif сейчас бы у меня такое светило... гроза, дождь,тучи... smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #19





Группа: Пользователи
Сообщений: 6
Пол: Мужской

Репутация: -  0  +


Всем спасибо за помощ и понимание:)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 27.10.2020 11:16
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name