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

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

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

 
 Ответить  Открыть новую тему 
> Модуль Graph, подшипник
setare
сообщение 30.01.2005 20:32
Сообщение #1


Бывалый
***

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

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


Вы не могли бы подсказать как можно нарисовать с помощью модуля graph подшипник. Эта тема будет у нас на экзамене и никто не знает как это можно сделать. Спасибо!


--------------------
Ты спрашиваешь, как я переношу длинные бессонные ночи?Как свеча: как только настает утро, я гасну, тем самым, имея возможность заново загореться.

Нима
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 30.01.2005 21:11
Сообщение #2


Гость






setare
Ээээ.... Правда это очень отдаленно напоминает подшипник lol.gif
Код
uses Graph;

var
 grDriver, grMode, ErrCode: Integer;
 i, nx, ny: integer;
begin
 grDriver := Detect;
 InitGraph(grDriver, grMode,'');
 ErrCode := GraphResult;
 if ErrCode <> grOk then
 begin
   Writeln('Graphics error:', GraphErrorMsg(ErrCode));
   halt;
 end;

 circle(getmaxx div 2, getmaxy div 2, 200);
 circle(getmaxx div 2, getmaxy div 2, 150);
 i := 0;
 while i <= 360 do
   begin
     nx := (getmaxx div 2) + trunc(175 * sin(i / (180 / Pi)));
     ny := (getmaxy div 2) + trunc(175 * cos(i / (180 / Pi)));
     circle(nx, ny, 25);
     inc(i, 18)
   end;

 readln;
 CloseGraph;
end.
 К началу страницы 
+ Ответить 
Altair
сообщение 31.01.2005 16:17
Сообщение #3


Ищущий истину
******

Группа: Модераторы
Сообщений: 4 824
Пол: Мужской
Реальное имя: Олег

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


Цитата
Вы не могли бы подсказать как можно нарисовать с помощью модуля graph подшипник.

Нарисовать подшипник в масштабе 1:1 в Auto CAD'e, сохранить в BMP файл, и вывести с помощью модуля Graph на экран этото BMP - так будет точно подшипник smile.gif


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Jahnerus
сообщение 31.01.2005 16:31
Сообщение #4


Уникальный
**

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

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


Кстати! вот к чему может привести лень програмера ...
volvo
Цитата
...
inc(i, 18)
...

Было слегка лень подберать это число просто перебором... потому чучуть модернизировал прогу ... smile.gif Вводятся только 2 радиуса ... ну и так всё видно наверно ...
Код
uses
 graph;

const
 r1=100;
 r2=200;
var
 dr,lo,hi,x,y,i,step:integer;
 r3,r4:real;

begin
 dr:=detect;
 getmoderange(dr,lo,hi);
 initgraph(dr,hi,'e:\bp\bgi');
 setcolor(12);
 circle(getmaxx div 2, getmaxy div 2,r1);
 circle(getmaxx div 2, getmaxy div 2,r2);
 i:=0;
 r3:=r1+(r2-r1)/2;
 r4:=(r2-r1)/2;
 step:=round(2*(180-360*arctan(2*sqrt(sqr(r3)-sqr(r4/2))/(r4))/pi));
 while (360 mod step <> 0) do inc(step);
 setcolor(10);
 while i<=360 do begin
   x:=round(r3*cos(i*pi/180)) + getmaxx div 2;
   y:=round(r3*sin(i*pi/180)) + getmaxy div 2;
   circle(x,y,round(r4));
   inc(i,step);
 end;
 readln;
 closegraph;
end.


--------------------
Век живи, век учи С © by Jahnerus
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



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