Помощь - Поиск - Пользователи - Календарь
Полная версия: Строфоида
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
RIDDICK
нарисовать строфоиду ... данные:

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

Я не понимаю, как это можно задать... есть в факе пример рисования для функции x(y), но тут ...
volvo
Строфоида (кроме параметрического задания) задается еще и в полярных координатах формулой:
Цитата
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
Код
if graphresult <> grok then halt(100);


ЭТО ЧТО?smile.gif
volvo
А ты как проверяешь, не произошла ли ошибка при инициализации графики? Ну, например, драйвер не найден, и что? Графика не инициализировалась, а ты будешь выводить точки на экран? Нехорошо...
RIDDICK
никак не проверяю))) :low:
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.