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

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

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

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





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

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


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

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


Гуру
*****

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

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


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

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

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

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





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

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


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


Гуру
*****

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

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


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





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

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


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

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

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


Гуру
*****

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

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


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

Да не проблема. Вот только одну окружность нарисуй. А цветок из них я тебе сделаю
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Mantikor123
сообщение 26.03.2010 14:47
Сообщение #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 
 К началу страницы 
+ Ответить 
Ozzя
сообщение 26.03.2010 15:37
Сообщение #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 
 К началу страницы 
+ Ответить 
volvo
сообщение 26.03.2010 17:17
Сообщение #9


Гость






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

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


Гуру
*****

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

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


Ну-да smile.gif
Лепестки ж эллипсами надо отрисовывать. А рисование эллипса под наклоном под эту задачу - перебор, кажется.
Не, кода фрактального подсолнуха не встречал.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 26.03.2010 19:56
Сообщение #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.
(Движение добавлять не стал, это вообще элементарно)
 К началу страницы 
+ Ответить 
Client
сообщение 26.03.2010 22:58
Сообщение #12


Профи
****

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

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


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

Сообщение отредактировано: Client - 26.03.2010 22:59
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 26.03.2010 23:09
Сообщение #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 
 К началу страницы 
+ Ответить 
Client
сообщение 26.03.2010 23:16
Сообщение #14


Профи
****

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

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


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


Я.
****

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

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


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

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


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

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

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


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


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


Гость






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

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


Профи
****

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

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


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





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

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


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

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

 



- Текстовая версия 27.04.2024 8:04
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"