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

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

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

 
 Ответить  Открыть новую тему 
> задачка на графику
btr86
сообщение 3.06.2004 14:57
Сообщение #1





Группа: Пользователи
Сообщений: 3

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


Ребята помогите пожалуйста ! Срочно надо решить это задание ! Я пытался пытался не получается!! ПОжалуйста помогите решить мне последняя задача осталась и я ее решить не могу!!!
Задание:Для любой функции(cos или sin), те области которые выше оси х и ниже функции f(x),(т.е идет допустим синусоида она меняется с амплитудой дак вот именно внутреннюю область, которая над осью x и нижнюю внутреннюю область область, которая под осью х) заштриховать наклонными линиями разного наклона.
Код

program graphik;

uses Crt, graph;

var gm,gd: integer;
  cx,cy,mx,my: integer;
  l,r,x,y: real;

begin
WriteLn('Введите левую границу интервала:');
ReadLn(l);
WriteLn('Введите правую границу интервала:');
ReadLn(r);
gd:=detect;
InitGraph(gd,gm,'c:\bp\bgi');
cx:=GetMaxX div 2;
cy:=GetMaxY div 2;
SetColor(White);
MoveTo(50,cy);
LineTo(GetMaxX - 50,cy);
MoveTo(cx,50);
LineTo(cx,GetMaxY - 50);
x:=l;
mx:=Round(GetMaxX/(Abs(l)+Abs(r)));
my:=Round(GetMaxY/2);
MoveTo(Round(x*mx) + cx,Round(sin(x))*my + cy + 2);
while x<=r do
begin
y:=sin(x)*my + cy + 2;
LineTo(Round(x*mx) + cx,Round(y));
x:=x + 0.1;
end;
ReadLn;
CloseGraph;
end.

Это мой график.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
btr86
сообщение 3.06.2004 21:16
Сообщение #2





Группа: Пользователи
Сообщений: 3

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


Люди, ну не уэели никто не может помочь?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
trminator
сообщение 3.06.2004 21:53
Сообщение #3


Четыре квадратика
****

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

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


Разного наклона - это что значит? На каждом промежутке свой наклон? Тогда можно использовать просто FillChar, выбрав подходящий FillStyle (SetFillStyle).

Поставь в SetFillStyle Pattern = UserFill, и помучайся с полчасика с SetFillPattern. Вроде должно получиться что-нибудь. Pattern'ы дл SetFillPattern наверное можно не подготавливать во время работы программы, а посчитать заранее.

ИМХО копать в ту сторону.


--------------------
Закон добровольного труда Зимерги:
Люди всегда согласны сделать работу, когда необходимость в этом уже отпала
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Romtek
сообщение 6.06.2004 23:04
Сообщение #4


Знаток
****

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

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


Код
SetFillStyle(LtSlashFill, Yellow);


--------------------
Romiras HomeLab- материалы и статьи по разработке ПО, моделирование алгоритмов, обработка и анализ информации, нейронные сети, машинное зрение и прочее.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
trminator
сообщение 7.06.2004 20:02
Сообщение #5


Четыре квадратика
****

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

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


romtek, просят заштриховать линиями _разного_ наклона.


--------------------
Закон добровольного труда Зимерги:
Люди всегда согласны сделать работу, когда необходимость в этом уже отпала
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



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