ReferatWorld.ru
» » » Построение линии пересечения объёмных геометрических объектов
Вернуться назад

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

Задание №1

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

1.1 Цель работы

Выработка практических навыков в разработке и отладке программ для построения линий пересечения объёмных геометрических объектов.

1.2 Индивидуальное задание

Построить поверхности второго порядка

и их линию пересечения.

Вариант a b c d E R
9 140 30 1 1 1 90

1.3 Решение задания

Представим систему в численном виде:

Из неё легко проверить, что получается такая система

Первое уравнение является уравнением окружности с радиусом

, расположенной параллельно плоскости XY на уровне . Эта окружность и является линией пересечения конуса и эллипсоида.

1.4 Текст программы

;Conus

(defun conus()

(setq zmax 140.0)

(setq z 0.0)

(setq dz 5)

(while (<= z zmax)

(setq r (sqrt ( * (* z z) (/ (* 140 140) (* 30 30)))))

(if (= r 0)

(command "point" (list 0 0 0))

(command "circle" (list 0 0 z) r)

)

(setq z (+ z dz))

)

(setq dphi (/ (* 10 pi) 180))

(setq phi 0)

(while (<= phi (* 2.0 pi))

(command "line" (list 0 0 0) (list (* r (cos phi)) (* r (sin phi)) z))

(command)

(setq phi (+ phi dphi))

)

)

; Ellipse in YZ

(defun ell_Y(fy fz)

(setq xmax 90.0)

(setq dx 10.0)

(setq dy 10.0)

(setq x -90.0)

(while (<= x xmax)

(setq ya 0.0)

(setq yk (sqrt (- (* 90.0 90.0) (* x x))))

(setq z (* fz (sqrt (- 8100.0 (* x x)))))

(setq p1 (list x ya z))

(while (> (- yk ya) dy)

(setq ya (+ ya dy))

(setq y (* fy ya))

(setq z (* fz (sqrt (- 8100.0 (* x x) (* y y)))))

(setq p2 (list x y z))

(command "line" p1 p2 "")

(setq p1 p2)

)

(setq y (* fy yk))

(setq p2 (list x y 0.0))

(command "line" p1 p2 "")

(setq x (+ x dx))

)

)

;

; Ellipse in XZ

(defun ell_X (fx fz)

(setq ymax 90.0)

(setq y -90.0)

(while (<= y ymax)

(setq xa 0.0)

(setq xk (sqrt (- (* 90.0 90.0) (* y y))))

(setq z (* fz (sqrt (- 8100.0 (* y y)))))

(setq p1 (list xa y z))

(while (> (- xk xa) dx)

(setq xa (+ xa dx))

(setq x (* fx xa))

(setq z (* fz (sqrt (- 8100.0 (* x x) (* y y)))))

(setq p2 (list x y z))

(command "line" p1 p2 "")

(setq p1 p2)

)

(setq x (* fx xk))

(setq p2 (list x y 0.0))

(command "line" p1 p2 "")

(setq y (+ y dy))

)

)

;

; line cross

(defun lc(fl)

(setq x -88)

(setq dx 2)

(setq x (* fl x))

(setq y (sqrt (- 7744.3902 (* x x))))

(setq z 18.86)

(setq y (* fl y))

(setq p1 (list x y z))

(setq x (* fl x))

(while (> (- 88 x) dx)

(setq x (+ x dx))

(setq x (* fl x))

(setq y (sqrt (- 7744.3902 (* x x))))

(setq y (* fl y))

(setq z 18.86)

(setq p2 (list x y z))

(command "line" p1 p2 "")

(setq x (* fl x))

(setq p1 p2)

)

(setq x 88)

(setq x (* fl x))

(setq y (sqrt (- 7744.3902 (* x x))))

(setq z 18.86)

(setq p2 (list x y z))

(setq x (* fl x))

(command "line" p1 p2 "")

)

;

; control

(Defun gr()

(setq sb (getvar "blipmode"))

(setq sc (getvar "cmdecho"))

(command "erase" "all" "")

(setvar "blipmode" 0)

(setvar "cmdecho" 0)

(command "color" 5)

(ell_Y 1 1)

(ell_Y 1 -1)

(ell_Y -1 1)

(ell_Y -1 -1)

(ell_X 1 1)

(ell_X 1 -1)

(ell_X -1 1)

(ell_X -1 -1)

(command "color" 3)

(conus)

(command "color" 2)

(lc 1)

(lc -1)

(setvar "blipmode" sb)

(setvar "cmdecho" sc)

)


1.5 Результат выполнения программы


Задание № 2

Методы конструирования кривых.

2.1 Цель работы

Выработка практических навыков конструирования кривых.

2.2 Индивидуальное задание

Сконструировать кривую по заданным точкам методом Фергюсона. Создать функцию рисующую кривую в плоскости XY, исходные точки отметить маркерами. Оформить таблицу значений функции и отклонений от заданных значений в опорных точках.

Вариант 0,0 0,2 0,4 0,6 0,8 1
09 49,0 105,3 172,3 211,1 183,0 49,0
28,0 -31,5 -78,6 -95,8 -66,1 28,0

2.3 Аппроксимация кривой методом Фергюсона

Сегмент кр

Внимание, отключите Adblock

Вы посетили наш сайт со включенным блокировщиком рекламы!
Ссылка для скачивания станет доступной сразу после отключения Adblock!

Скачать
Контрольные работы по информатике и программированию Задание №1 Построение линии пересечения объёмных геометрических объектов 1.1 Цель работы Выработка практических навыков в разработке и отладке
Оценок: 1000 (Средняя 5 из 5)

Одними из наиболее популярных услуг на рынке IT-технологий являются создание и продвижение лендингов. Они способны положительно влиять на деятельность любого бизнес-проекта в интернете. Судя по многочисленным отзывам, заказавшие создание лендингов люди ни разу не пожалели о потраченных деньгах. Они вложили в будущее, которое неразрывно связано с интернетом. Всё больше и больше предпринимателей обращаются к услугам разных агентств, веб-студий, чтобы заказать создание лендинга у профессионалов.

© 2017 - 2022 ReferatWorld.ru