Написать функцию выводящую букву "Ж" - Lisp

Узнай цену своей работы

Формулировка задачи:

Вообщем ребят, нужна помощь. Нужно написать функцию выводящую букву "Ж". Буква "И" сделана, но еще надо букву "Ж". Проблема в том что не могу написать код на данную букву. Код на букву "И" предоставляю
Листинг программы
  1. (defun dtr(a) (* pi(/ a 180.)))
  2. (defun c:letter()
  3. (setq p1 (getpoint "\nУкажите точку вставки:"))
  4. (setq h (getdist "\nВысота буквы h:" p1))
  5. (setq a (getangle "\nУгол поворота a:" p1))
  6. (setq tt (/ h 6))
  7. (setq ws (/ h 100))
  8. (setq wl (/ h 10))
  9. (setq ww (/ h 20))
  10. (setq wm (* wl 1.5))
  11. ;вычисление точек левой части
  12. (setq p2 (polar p1 (+ a (dtr 0.)) tt))
  13. (setq p3 (polar p2 (+ a (dtr 90.)) (* tt 0.5))) ; нижняя левая часть
  14. (setq tc (polar p1 (+ a (dtr 90.)) (* tt 1.5)))
  15. (setq p5 (polar p2 (+ a (dtr 90.)) h)) ;начальная точка нижней левой части
  16. (setq p4 (polar p5 (+ a (dtr -90.)) (* tt 0.4))) ;начальная точка верхней левой части
  17. (setq p6 (polar p1 (+ a (dtr 90.)) h)) ;конечная точка верхней левой части
  18. (setq tc1 (polar p6 (+ a (dtr -90.)) (* tt 1.5)))
  19. (setq p7 (polar p2 (+ a (dtr 0.)) tt)) ;нижняя правая часть
  20. (setq tc2 (polar p7 (+ a (dtr 90.)) (* tt 1.2)))
  21. (setq p8 (polar p7 (+ a (dtr 90.)) h)) ;верхняя правая часть
  22. (setq tc3 (polar p8 (+ a (dtr -90.)) (* tt 1.5)))
  23. ;вычисление точек правой части
  24. (setq p11 (polar p1 (+ a (dtr 0.)) (* tt 2.7))) ;начало
  25. (setq p12 (polar p11 (+ a (dtr 0.)) tt))
  26. (setq p13 (polar p12 (+ a (dtr 90.)) (* tt 0.5))) ;нижняя левая часть
  27. (setq tc4 (polar p11 (+ a (dtr 90.)) (* tt 1.5)))
  28. (setq p15 (polar p12 (+ a (dtr 90.)) h)) ;начальная точка нижней левой части
  29. (setq p14 (polar p15 (+ a (dtr -90.)) (* tt 0.4))) ;начальная точка верхней левой части
  30. (setq p16 (polar p11 (+ a (dtr 90.)) h)) ; конечная точка верхней левой части
  31. (setq tc5 (polar p16 (+ a (dtr -90.)) (* tt 1.5)))
  32. (setq p17 (polar p12 (+ a (dtr 0.)) tt)) ; нижняя правая часть
  33. (setq tc6 (polar p17 (+ a (dtr 90.)) (* tt 1.2)))
  34. (setq p18 (polar p17 (+ a (dtr 90.)) h)) ; верхняя правая часть
  35. (setq tc7 (polar p18 (+ a (dtr -90.)) (* tt 1.5)))
  36. ;вычисление центральной линии
  37. (setq p20 (polar p2 (+ a (dtr 90.)) (* tt 0.5))) ; нижняя левая
  38. (setq p21 (polar p15 (+ a (dtr -90.)) (* tt 0.5))) ; верхняя правая
  39. ;отрисовка левой части
  40. (command "_.OSNAP" "_NONE")
  41. (command "_.PLINE" p2 "_W" wm wm p5 "") ; отрисовка центрального прямоугольника
  42. (command "_.PLINE" p1 "_W" ws wl "_A" "_C" tc p3 "") ; отрисовка нижней левой части центральной линии
  43. (command "_.PLINE" p4 "_W" wl ws "_A" "_C" tc1 p6 "") ; отрисовка верхней левой части центральной линии
  44. (command "_.PLINE" p3 "_W" wl ws "_A" "_C" tc2 p7 "") ; отрисовка нижней правой части центральной линии
  45. (command "_.PLINE" p8 "_W" ws wl "_A" "_C" tc3 p4 "") ; отрисовка верхней правой части центральной линии
  46. ;отрисовка правой части
  47. (command "_.PLINE" p12 "_W" wm wm p15 "") ; отрисовка центрального прямоугольника
  48. (command "_.PLINE" p11 "_W" ws wl "_A" "_C" tc4 p13 "") ; отрисовка нижней левой части центральной линии
  49. (command "_.PLINE" p14 "_W" wl ws "_A" "_C" tc5 p16 "") ; отрисовка верхней левой части центральной линии
  50. (command "_.PLINE" p13 "_W" wl ws "_A" "_C" tc6 p17 "") ; отрисовка нижней правой части центральной линии
  51. (command "_.PLINE" p18 "_W" ws wl "_A" "_C" tc7 p14 "") ; отрисовка верхней правой части центральной линии
  52. (command "_.PLINE" p20 "_W" ww ww p21 "") ; отрисовка центральной линии
  53. (princ))

Решение задачи: «Написать функцию выводящую букву "Ж"»

textual
Листинг программы
  1. (defun draw nil
  2.   (let ((w (gensym 'w)))
  3.     (grwCreate w 300 300 "Буква Ж" _WHITE)
  4.  
  5.     (grwScale w -100 100 -100 100)
  6.     (grwSetParm w 3 1 _RED _WHITE)    
  7.  
  8.     (grwLine w -10 20 -10 80 _RED)
  9.     (grwLine w -10 20 -50 80 _RED)
  10.     (grwLine w -10  0 -70 80 _RED)
  11.     (grwLine w -70 80 -50 80 _RED)
  12.  
  13.     (grwLine w -10 -20 -10 -80 _RED)
  14.     (grwLine w -10 -20 -50 -80 _RED)
  15.     (grwLine w -10   0 -70 -80 _RED)
  16.     (grwLine w -70 -80 -50 -80 _RED)
  17.  
  18.     (grwLine w 10 20 10 80 _RED)
  19.     (grwLine w 10 20 50 80 _RED)
  20.     (grwLine w 10  0 70 80 _RED)
  21.     (grwLine w 70 80 50 80 _RED)
  22.  
  23.     (grwLine w 10 -20 10 -80 _RED)
  24.     (grwLine w 10 -20 50 -80 _RED)
  25.     (grwLine w 10   0 70 -80 _RED)
  26.     (grwLine w 70 -80 50 -80 _RED)
  27.  
  28.     (grwLine w -10 80 10 80 _RED)
  29.     (grwLine w -10 -80 10 -80 _RED)
  30.  
  31.     (grwFill w 0 0 _RED _RED)
  32.  
  33.     (grwShow w)))

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.5 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы