Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 09.11.2010
Сообщений: 11
1

Графика.

09.11.2010, 21:56. Показов 1271. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ребята,огромная просьба. Помогите с задачей. Все никак сделать не могу ;(


Согласно варианту задания изобразить на экране ЭВМ двумерную область, ограниченную графиками математических функций, удовлетворяя следующим условиям:
Графики функций выходят за основную область на 20 - 25% от ее размера. Область, ограниченная графиками функций, заштрихованная параллельными линиями с интервалом в 45 пикселей между линиями. Угол наклона линий к оси ОХ составляет 45 градусов (если в задании не омовлено другое). Графики функций и линии штриховки имеют отдельные цвета. Цвет осей координат и цифр белый, фон - черный, числовые отметки на осях имеют только целые значения.
y1=1/(3x^2 - 2x+1)
y2=lnx
y3=3-x
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.11.2010, 21:56
Ответы с готовыми решениями:

Графика.Цена деления графика.
Нужно доделать сие творение!Не хватает цены деления хотя бы 3 засечки по иксу в право и по игреку в...

Графика
Построить изображение применив какой нибудь стиль закраски, выручите люди добрые

Графика
Помогите, пожалуйста, написать 3 программки: № 1. Прямоугольник со сторонами 20 и 30 точек...

Графика
Добрий день! Допоможіть будь ласка написати програму. N зафарбованих своїми кольорами кіл. Число...

2
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
10.11.2010, 14:55 2
Лучший ответ Сообщение было отмечено Developed как решение

Решение

Вот сделал типа заготовки, нужно вычислить тоски пересечения и соответственно концы графиков, а то длинноватые.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
uses graph;
function F1(x:real):real;
begin
F1:=1/(3*x*x-2*x+1);
end;
function F2(x:real):real;
begin
F2:=ln(x);
end;
function F3(x:real):real;
begin
F3:=3-x;
end;
var xn,xk,max,min,x,y,m,dx,h:real;
    x0,y0,i,px,py,n:integer;
    s:string;
begin
x0:=0;
initgraph(x0,y0,'');
x0:=50;{центр экрана}
y0:=getmaxY-160;
xn:=1;xk:=3.4;{интервал по Х}
m:=(getmaxX-60)/4;{масштаб по Х}
line(0,y0,getmaxX,y0);{оси}
line(x0,0,X0,getmaxY);
for i:=1 to 4 do{максимальное количество засечек в одну сторону}
  begin
    line(x0-3,y0+round(i*m),x0+3,y0+round(i*m));{засечки на оси У}
    line(x0-3,y0-round(i*m),x0+3,y0-round(i*m));
    line(x0+round(i*m),y0-3,x0+round(i*m),Y0+3); {засечки на оси Х}
    line(x0-round(i*m),y0-3,x0-round(i*m),Y0+3);
    str(i,s);
    {подпись оси У}
    outtextXY(x0-35,y0+round(i*m),'-'+s);{соответственно засечкам}
    outtextXY(x0-35,y0-round(i*m),s);
    {подпись оси Х}
    outtextXY(x0+round(i*m),y0+10,s);
    outtextXY(x0-round(i*m),y0+10,'-'+s);
  end;
{центр}
outtextXY(x0+5,y0+10,'0');
{подписи концов осей}
outtextXY(getmaxX-10,y0-10,'X');
outtextXY(x0-10,10, 'Y');
setcolor(8);
{график}
x:=xn;
dx:=0.001;
while x<=xk do
   begin
     x:=x+dx; {наращиваем х}
     px:=x0+round(x*m); {изменение по оси Х}
     y:=F1(x); {график в реальных координатах}
     py:=y0-round(y*m);{в экранных}
     putpixel(px,py,12);
     y:=F2(x); {график в реальных координатах}
     py:=y0-round(y*m);{в экранных}
     putpixel(px,py,11);
     y:=F3(x); {график в реальных координатах}
     py:=y0-round(y*m);{в экранных}
     putpixel(px,py,10);
   end;
{штриховка}
h:=45*sin(pi/4)/m;{шаг штриховки по горизонтали}
n:=round((xk-xn)/h);{количество линий}
for i:=n downto 1 do
 begin
  x:=xn;
  while x<=xk do
   begin
    x:=x+dx; {наращиваем х}
    px:=x0+round(x*m); {изменение по оси Х}
    y:=3-x-h*(n-i+1); {график в реальных координатах}
    py:=y0-round(y*m);{в экранных}
    if(y>F1(x))and(y<F2(x))and(y<F3(x)){если в области, то рисуем}
    then putpixel(px,py,13);
   end;
  end;
readln
end.
1
0 / 0 / 0
Регистрация: 09.11.2010
Сообщений: 11
10.11.2010, 14:59  [ТС] 3
Спасибо. Надеюсь,что доделаю как надо
0
10.11.2010, 14:59
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.11.2010, 14:59
Помогаю со студенческими работами здесь

Графика
Нужно несколько прог.....:wall: рисунки.....не мего сложные(машинка,человечек и тд и...

Графика
uses crt,graph; var pox,poy,k,i,j,pogor,povert,c, x1,y1,x2,y2,x3,y3,x1s,y1s,x2s,y2s,x3s,y3s,...

Графика
Дорого времени суток! Помогите пожалуйста!!! Как переделать эту программу, чтобы квадратики...

Графика
Исследовать область определения и построить график функций: y=x/3xв квадрате+2x+1 Уважаемые...

графика
А как построить вот такие задачки? • построения мозаичного изображения; • графического...

графика
Вывести на экран монитора прямоугольник красного цвета таким образом чтоб он плавно увеличил свой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru