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

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

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

 
 Ответить  Открыть новую тему 
> задачка на графику
сообщение
Сообщение #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 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2





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

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


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


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

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

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


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

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

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


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


Знаток
****

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

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


Код
SetFillStyle(LtSlashFill, Yellow);


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


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

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

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


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


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

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

 





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