BigEdu.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)

Наверняка у вас есть товары или услуги, продажа которых приносит вам максимальную прибыль. Для быстрого старта в сети вам необходимо создание посадочной страницы (одностраничного сайта), на которой будет размещена информация о маржинальных товарах/услугах интернет магазина. За 8 лет опыта разработки конверсионных страниц мы выработали оптимальную структуру, которая позволит привлекать через landing page больше продаж. На такую структуру «одевается» ваш контент — фирменный стиль, тексты, фотографии, уникальные торговые предложения, после чего страница выходит в свет. Разработка лендинга и запуск в сети — до 7 рабочих дней. Стоит отметить, что в разработку самой посадочной страницы входит и написание копирайтером продающих текстов для вашего бизнеса, чтобы каждый посетитель страницы захотел совершить покупку именно у вас. Результат: качественно разработаная продающая посадочная страница, которая готова приносить вам новых клиентов.

© 2016 - 2022 BigEdu.ru