Форум программистов, компьютерный форум, киберфорум
Lisp
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 03.06.2013
Сообщений: 5
1

Программа для рисования буквы "Ф"

27.04.2014, 01:03. Показов 2279. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте!
Программа для рисования буквы "Ф". Не могу понять, как перевернуть нижнюю четверть окружности.

Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
(defun dtr(a)
(* pi(/ a 180.))
)
(defun c:test()
(princ "Укажите точку привязки:")
(setq p1 (getpoint))
(setq h (getdist "ысота буквы h:" p1))
(setq a (getangle "гол поворота a:" p1))
(setq tt (/ h 6))
(setq ws (/ h 100))
(setq wl (/ h 10))
(setq ww (/ h 15))
(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 p9 (polar p5 (+ a (dtr -90.)) (* tt 0.9))) ;правый прямоугольник 
(setq p10 (polar p9 (+ a (dtr -90.)) (* tt 1.6)))
(setq p11 (polar p10 (+ a (dtr 0.)) (* tt 2.5)))  
(setq p27 (polar p11 (+ a (dtr 180.)) (* tt 0.435)))  
(setq p12 (polar p9 (+ a (dtr 0.)) tt))
 
(setq p21 (polar p6 (+ a (dtr -90.)) (* tt 0.9))) ;левый прямоугольник 
(setq p22 (polar p21 (+ a (dtr 90.)) (* tt 1.6)))
(setq p23 (polar p22 (+ a (dtr -90.)) (* tt 3.25))) 
(setq p24 (polar p21 (+ a (dtr 0.)) tt))
 
(setq tc4 (polar p12 (+ a (dtr -90.)) (* tt 1.5))) ; соединение правой верхней четверти окружности с прямоугольником
(setq p17 (polar p10 (+ a (dtr -90.)) (* tt 1.6))) ; соединение нижнего и центрального прямоугольника  
(setq p18 (polar p17 (+ a (dtr 0.)) tt)) ; конец нижнего прямоугольника
(setq tc5 (polar p18 (+ a (dtr 90.)) (* tt 1.5))) ; соединение частей окруужности
 
(setq tc6 (polar p23 (+ a (dtr 0.)) (* tt 0.1))); соединение левой верхней четверти окружности с прямоугольником
(setq p25 (polar p6 (+ a (dtr -90.)) (* tt 4.1))) ; соединение нижнего и центрального прямоугольника  
(setq p26 (polar p25 (+ a (dtr 0.)) tt)) ; конец нижнего прямоугольника
(setq tc7 (polar p23 (+ a (dtr -180.)) (* tt 0.1))); соединение частей окруужности
 
(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" p9 "_W" ww ww p12 "")  ;отрисовка правого прямоугольника
(command "_.PLINE" p21 "_W" ww ww p24 "")  ;отрисовка левого прямоугольника 
 
(command "_.PLINE" p11 "_W" wm ww "_A" "_C" tc4 p12 "") ;отрисовка правой верхней четверти окружности
(command "_.PLINE" p17 "_W" ww ww p18 "") ;отрисовка правого нижнего прямоугольника
(command "_.PLINE" p11 "_W" ww ww p27 "")
(command "_.PLINE" p18 "_W" ww wm "_A" "_C" tc5 p11 "") ;отрисовка правой нижней четверти окружности  
 
(command "_.PLINE" p21 "_W" ww wm "_A" "_C" tc6 p23 "");отрисовка левой верхней четверти окружности
(command "_.PLINE" p25 "_W" ww ww p26 "") ;отрисовка левого нижнего прямоугольника
(command "_.PLINE" p25 "_W" ww wm "_A" "_C" tc7 p23 "") ;отрисовка левой нижней четверти окружности  
 
(princ)
)
Вот что получается:
Миниатюры
Программа для рисования буквы "Ф"  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.04.2014, 01:03
Ответы с готовыми решениями:

Программа для рисования в С++
Вам нужно создать программу для создания примера на изображении (изоброжение по ссылке). Квадрат...

Программа для рисования 3D
Какие вы знаете программы для рисования 3D графики для WPF?

Программа рисования буквы "Z"
Добрый вечер! Программа заключается в следующем: Введенным символом и следующими двумя за ним в...

Программа для рисования графика
Доброго времени суток! Нужно написать программу для рисования графика. Что в ней должно быть?...

Программа для рисования окружности
напишите, пожалуйста, код программы, в которой при клике мышью появится окружность с диаметром 4 0

4
Заблокирован
28.04.2014, 01:36 2
Не парься, попробуй отзеркалить относительно вертикальной оси буквы
0
0 / 0 / 0
Регистрация: 03.06.2013
Сообщений: 5
28.04.2014, 21:10  [ТС] 3
А как это программно реализовать?
0
Заблокирован
28.04.2014, 21:19 4
Для начала нужно создать набор и добавлять в него то, что ты рисуешь. ssadd и entlast тебе в помощь. А дальше просто: (command "_.mirror" ... и дальше по списку опций
3
0 / 0 / 0
Регистрация: 03.06.2013
Сообщений: 5
28.04.2014, 21:40  [ТС] 5
Спасибо, сейчас буду разбираться
0
28.04.2014, 21:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.04.2014, 21:40
Помогаю со студенческими работами здесь

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

Программа для рисования дома
Написать программу, которая нарисует дом, который вы хотите.

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

Программа для рисования прямоугольника
В окне формы рисует прямоугольник площадь которого 1/2 площади окна. Прямоугольник располагается в...

Программа для рисования диаграм
Мне нужна программа для рисования диаграм объектов. Она может быть чем-то похожа на программу для...

Программа для рисования графиков
Нужно приспособить программу под данную формулу f(x) = Sinx/1+Sin2x/2+SIn3x/3+Sin4x/4+Sin5x/5 ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru