Контрольная работа: Построение линии пересечения объёмных геометрических объектов

(command "color" 3)

(command "point" p1)

(command "point" p2)

(command "point" p3)

(command "point" p4)

(command "point" p5)

(command "point" p6)

(command "color" 4)

(command "line" p1 p2 p3 p4 p5 p6)

(command)

(command "color" 5)

(setq u 0)

(setq du 0.001)

(setq file1 (open "c:\\mydata2.txt" "w"))

(while (<= u 1.0)

(setq x (+ (* (nth 0 p1) (expt (- 1 u) 5)) (* (nth 0 p2) (expt (- 1 u) 4) u 5) (* (nth 0 p3) (expt (- 1 u) 3) u u 10) (* (nth 0 p4) (expt (- 1 u) 2) u u u 10) (* (nth 0 p5) (expt u 4) (- 1 u) 5) (* (nth 0 p6) (expt u 5))))

(setq y (+ (* (nth 1 p1) (expt (- 1 u) 5)) (* (nth 1 p2) (expt (- 1 u) 4) u 5) (* (nth 1 p3) (expt (- 1 u) 3) u u 10) (* (nth 1 p4) (expt (- 1 u) 2) u u u 10) (* (nth 1 p5) (expt u 4) (- 1 u) 5) (* (nth 1 p6) (expt u 5))))

(if (or (<= (abs (- u 0)) 0.00001) (<= (abs (- u 0.2)) 0.00001) (<= (abs (- u 0.4)) 0.00001) (<= (abs (- u 0.6)) 0.00001) (<= (abs (- u 0.8)) 0.00001) (<= (abs (- u 1.0)) 0.00001))

(print (list x y) file1)

)

(setq u (+ u du))

(setq x1 (+ (* (nth 0 p1) (expt (- 1 u) 5)) (* (nth 0 p2) (expt (- 1 u) 4) u 5) (* (nth 0 p3) (expt (- 1 u) 3) u u 10) (* (nth 0 p4) (expt (- 1 u) 2) u u u 10) (* (nth 0 p5) (expt u 4) (- 1 u) 5) (* (nth 0 p6) (expt u 5))))

(setq y1 (+ (* (nth 1 p1) (expt (- 1 u) 5)) (* (nth 1 p2) (expt (- 1 u) 4) u 5) (* (nth 1 p3) (expt (- 1 u) 3) u u 10) (* (nth 1 p4) (expt (- 1 u) 2) u u u 10) (* (nth 1 p5) (expt u 4) (- 1 u) 5) (* (nth 1 p6) (expt u 5))))

(command "line" (list x y) (list x1 y1))

(command)

)

(closefile1)

)


3.5 Таблица, получаемая в результате выполнения задания:

К-во Просмотров: 336
Бесплатно скачать Контрольная работа: Построение линии пересечения объёмных геометрических объектов