Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Результат работы программы

Цель работы

Написать функцию, выводящую большую букву «И» по типу шрифта Times New Roman. Точку вставки, высоту и угол наклона символа вводим в виде чисел или динамически. После все изображение должно быть на экране.

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

(defun dtr(a) (* pi(/ a 180.)))

(defun c:letter()

(setq p1 (getpoint "\nУкажите точку вставки:"))

(setq h (getdist "\nВысота буквы h:" p1))

(setq a (getangle "\nУгол поворота a:" p1))

(setq tt (/ h 6))

(setq ws (/ h 100))

(setq wl (/ h 10))

(setq ww (/ h 20))

(setq wm (* wl 1.5))

;вычисление точек левой части

(setq p2 (polar p1 (+ a (dtr 0.)) tt))

(setq p3 (polar p2 (+ a (dtr 90.)) (* tt 0.5))); нижняя левая часть

(setq tc (polar p1 (+ a (dtr 90.)) (* tt 1.5)))

(setq p5 (polar p2 (+ a (dtr 90.)) h));начальная точка нижней левой части

(setq p4 (polar p5 (+ a (dtr -90.)) (* tt 0.4)));начальная точка верхней левой части

(setq p6 (polar p1 (+ a (dtr 90.)) h));конечная точка верхней левой части

(setq tc1 (polar p6 (+ a (dtr -90.)) (* tt 1.5)))

(setq p7 (polar p2 (+ a (dtr 0.)) tt));нижняя правая часть

(setq tc2 (polar p7 (+ a (dtr 90.)) (* tt 1.2)))

(setq p8 (polar p7 (+ a (dtr 90.)) h));верхняя правая часть

(setq tc3 (polar p8 (+ a (dtr -90.)) (* tt 1.5)))

;вычисление точек правой части

(setq p11 (polar p1 (+ a (dtr 0.)) (* tt 2.7)));начало

(setq p12 (polar p11 (+ a (dtr 0.)) tt))

(setq p13 (polar p12 (+ a (dtr 90.)) (* tt 0.5)));нижняя левая часть

(setq tc4 (polar p11 (+ a (dtr 90.)) (* tt 1.5)))

(setq p15 (polar p12 (+ a (dtr 90.)) h));начальная точка нижней левой части

(setq p14 (polar p15 (+ a (dtr -90.)) (* tt 0.4)));начальная точка верхней левой части

(setq p16 (polar p11 (+ a (dtr 90.)) h)); конечная точка верхней левой части

(setq tc5 (polar p16 (+ a (dtr -90.)) (* tt 1.5)))

(setq p17 (polar p12 (+ a (dtr 0.)) tt)); нижняя правая часть

(setq tc6 (polar p17 (+ a (dtr 90.)) (* tt 1.2)))

(setq p18 (polar p17 (+ a (dtr 90.)) h)); верхняя правая часть

(setq tc7 (polar p18 (+ a (dtr -90.)) (* tt 1.5)))

;вычисление центральной линии

(setq p20 (polar p2 (+ a (dtr 90.)) (* tt 0.5))); нижняя левая

(setq p21 (polar p15 (+ a (dtr -90.)) (* tt 0.5))); верхняя правая

;отрисовка левой части

(command "_.OSNAP" "_NONE")

(command "_.PLINE" p2 "_W" wm wm p5 ""); отрисовка центрального прямоугольника

(command "_.PLINE" p1 "_W" ws wl "_A" "_C" tc p3 ""); отрисовка нижней левой части центральной линии

(command "_.PLINE" p4 "_W" wl ws "_A" "_C" tc1 p6 ""); отрисовка верхней левой части центральной линии

(command "_.PLINE" p3 "_W" wl ws "_A" "_C" tc2 p7 ""); отрисовка нижней правой части центральной линии

(command "_.PLINE" p8 "_W" ws wl "_A" "_C" tc3 p4 ""); отрисовка верхней правой части центральной линии

;отрисовка правой части

(command "_.PLINE" p12 "_W" wm wm p15 ""); отрисовка центрального прямоугольника

(command "_.PLINE" p11 "_W" ws wl "_A" "_C" tc4 p13 ""); отрисовка нижней левой части центральной линии

(command "_.PLINE" p14 "_W" wl ws "_A" "_C" tc5 p16 ""); отрисовка верхней левой части центральной линии

(command "_.PLINE" p13 "_W" wl ws "_A" "_C" tc6 p17 ""); отрисовка нижней правой части центральной линии

(command "_.PLINE" p18 "_W" ws wl "_A" "_C" tc7 p14 ""); отрисовка верхней правой части центральной линии

(command "_.PLINE" p20 "_W" ww ww p21 ""); отрисовка центральной линии

(princ))

Результат работы программы



<== предыдущая лекция | следующая лекция ==>
Подведение итогов и награждение. о проведении игры КВН «Мы – профессионалы» | Тема: Измерение силы электрического тока амперметром.
Поделиться с друзьями:


Дата добавления: 2017-04-04; Мы поможем в написании ваших работ!; просмотров: 268 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Настоящая ответственность бывает только личной. © Фазиль Искандер
==> читать все изречения...

2364 - | 2087 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.009 с.