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

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

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

 
 Ответить  Открыть новую тему 
> Строфоида, графика
RIDDICK
сообщение 3.06.2005 1:41
Сообщение #1


Пионер
**

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

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


нарисовать строфоиду ... данные:

x=a(t^2-1)/(t^2+1)
y=at(t^2-1)/(t^2+1)
t принадлежит (-бескон, + бескон), a>0.

Я не понимаю, как это можно задать... есть в факе пример рисования для функции x(y), но тут ...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 3.06.2005 2:17
Сообщение #2


Гость






Строфоида (кроме параметрического задания) задается еще и в полярных координатах формулой:
Цитата
r := a * cos(2*fi) / cos(fi)
где fi изменяется в пределах [-inf, +inf]
Вот и строй ее в полярных координатах (mult - константа для масштабирования, a - параметр строфоиды):
uses graph;
procedure put_polar(phi, r: real);
const
  mult = 45;
begin
  putpixel( (getmaxx div 2) + trunc(mult * r*cos(phi)),
            (getmaxy div 2) - trunc(mult * r*sin(phi)), white  );
end;

const
  a = 5;
var
  gd, gm: integer;
  phi, r: real;
begin
  gd := detect;
  initgraph(gd, gm, '');
  if graphresult <> grok then halt(100);

  phi := -1;
  { построим на интервале fi [-1 .. 1] }
  while phi <= 1 do begin
    r := a * cos(2*phi) / cos(phi);
    put_polar(phi, r);
    phi := phi + 0.01;
  end;

  readln;
  closegraph;
end.
 К началу страницы 
+ Ответить 
RIDDICK
сообщение 3.06.2005 2:47
Сообщение #3


Пионер
**

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

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


Код
if graphresult <> grok then halt(100);


ЭТО ЧТО?smile.gif

Сообщение отредактировано: RIDDICK - 3.06.2005 3:06
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 3.06.2005 8:03
Сообщение #4


Гость






А ты как проверяешь, не произошла ли ошибка при инициализации графики? Ну, например, драйвер не найден, и что? Графика не инициализировалась, а ты будешь выводить точки на экран? Нехорошо...
 К началу страницы 
+ Ответить 
RIDDICK
сообщение 3.06.2005 8:33
Сообщение #5


Пионер
**

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

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


никак не проверяю))) :low:
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 

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