logo search
М_В_Г1_3_37

1.10. Параметрические кривые и их построение в векторном виде

При геометрическом моделировании кривые обычно задают в параметрическом виде, при котором координаты точек на них являются функцией от некоторого параметра.

Пример. Архимедова спираль в полярных коорди-натах (,) задается формулой = C , где C – константа, задающая скорость роста радиуса спирали, а - её угловой параметр. Переведя с помощью стандартного преобразова-ния эту функцию из полярных координат в декартовы, получим:

x() =() cos = C cos;

y() = () sin = C sin.

Участок спирали зададим интервалом изменения пара-метра : .

При моделировании в векторном виде кривая заме-няется набором отрезков прямых, образующих ломаную (Рис. 1.15).

Рис. 1.15

Общий алгоритм построения кривых.

При построении параметрических кривых обычно выполняют следующие действия.

1.Задание исходных величин. В их число обычно входят:

    1. Центр графика (начальная точка отсчета).

    2. Постоянные параметры кривых.

    3. Пределы изменения параметров, переменных.

    4. Шаг изменения переменных параметров (или число изменений).

2.Расчет необходимых начальных значений переменных параметров.

3.В цикле вычисляют значения переменных параметров и точек на кривой, которые соединяют отрезками прямых.

Пример. Построение архимедовой спирали.

1. Определение исходных величин. Допустим, заданы:

1.1. Начальная точка графика .

1.2. Коэффициент C (постоянный параметр).

1.3. Максимальная длина спирали max.

1.4. Угловой шаг спирали .

2. Расчет необходимых начальных значений переменных параметров.

3. В цикле: вычисление значений радиус-вектора и коорди-нат точек на спирали, которые соединяются отрезками прямых.

Рассмотрим пример векторного изображение спирали с помощью двух функций на языке Autolisp. В первой – otl – выполняются начальные присваиваиия. Двухмерной пере-менной Р0 (центр графика) присваивается значение (150, 100), константе C – значение 5, максимальному значению радиуса rm - 100, шагу d по углу а - значение 0.01. Затем происходит обращение ко второй функции – ar , выполняю-щей по заданным параметрам построение ломаной линии, заменяющей спираль, по вышеизложенному алгоритму. Тексты функций следующие:

defun c:otl( )

(setq p0 (list 150 100) c 5 rm 100 d 0.01)

(ar p0 c rm d) )

(defun ar (p0 c rm d)

(setq a 0 pn p0 x0 (car p0 ) y0 (nth 1 p0))

(while ( < r rm) (progn

(setq a (+ a d ) r (* c a)

x (+ x0 (* r (cos a)))

y (+ y0 ( * r (sin a))) pk (list x y)

)

(command "line" pn pk "")

(setq pn pk) )

)

)

Задачи.

Написать программы для вычерчивания из произ-вольного центра следующих параметрических кривых.

1. ; , , а=10, b=20.

2. ; a=40; b=4; c=1.

3. ; a=80.

4. r = (a+b sin) ; a = 10; b = 5; 0 10.

5. y = a x 2 + b x + c ; a = 0,05; b = 0,5; c = 30; -50 x + 50.

6.

R=40; а) ; б) ; в) ; г) .

7. ;a=60.

8. ; a=100.

9. ; a=100;b=30.

10. r = a + b + c 2 ; a = 10; b =2; c=0,02; 0 6..

11. ; a=40.

12. ; a=50;b=2;c=0,5.

13. a=20.

14.

R = 30; m = 0,3.

15.

R = 30; r = 15.

16. y = a / (x + b) + c ; a =700; b = -5; c = 10; 10 x + 250.

17.

18. y = a sinx2+ b x+ c; a=20; b = 0,3; c=50; 0 x + 200.

19.

20. , а=10, b=20, c=40.

37