Список использованных источников
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

1. Корн Г., Корн Т. Справочник по математике для научных работников и инженеров. – М.: Наука, 1973. – 832 с.

2. Зиновьев В.А. Курс теории механизмов и машин. – М.: Наука, 1975. – 204 с.

3. Левитский Н.И. Теория механизмов и машин. – М.: Наука, 1990.

4. Пейсах Э.Е., Нестеров В.А. Система проектирования плоских рычажных механизмов / Под ред. К.В.Фролова. – М.: Машиностроение, 1988. – 232 с.

5. Пейсах Э.Е. Определение положения звеньев трехповодковой и двух поводковой четырехзвенных структурных групп Ассура с вращательными парами. // Машиноведение. 1985. №5. С. 55-61.

6. Морошкин Ю. Ф. Доклады АН СССР. Т82, 1952, №4.

7. Артоболевский И.И. Теория механизмов и машин. – М.: Наука, 1975. – 640 с.

8. Джолдасбеков У.А., Байгунчеков Ж.Ж. Аналитическая кинематика плоских рычажных механизмов высоких классов. Алма-Ата: изд. Казах. гос. ун-та, 1980. – 105 с.

9. Озол О.Г. Аналитический метод треугольников в кинематике плоских рычажных механизмов. В кн.: Анализ и синтез механизмов. – М.: Машиностроение, 1966. С. 128-144.

10. Пейсах Э.Е. Синтез шарнирного шестизвенника с приближенным выстоем. // Механика машин. – М.: Наука, 1971, Вып. 29-30. С. 100-107.

11. Пейсах Э.Е. Справочные карты по синтезу шарнирного шестизвенника. // Механика машин. – М.: Наука, 1974. Вып. 44. С. 125-139.

12. Доронин В.И. Применение алгебраического метода в кинематическом синтезе плоских механизмов. // Изв. вузов. Сер. Машиностроение, 1968, №6. С. 5-9.

13. Тереньтьев В.Ф. Аналитический синтез шестизвенного шарнирно-рычажного механизма. // Изв. вузов. Сер. Машиностроение, 1976, №12. С. 65-68.

14. Доронин В.И., Рачек Н.М. Синтез шарнирных передаточных механизмов с помощью ЭЦВМ. // Механика машин. – М.: Наука, 1969. Вып. 15-16. С. 24-35.

15. Пейсах Э.Е. Оптимизационно-квадратический синтез плоских рычажных механизмов. // Машиноведение. 1986. №5. С. 71-77.

16. Муратов А.И. Синтез плоских рычажных механизмов высоких классов. // Механика машин. – М.: Наука. 1980. Вып. 57. С. 10-14.

17. Джолдасбеков У.А. Оптимальный синтез плоских рычажных механизмов высоких классов. / Вестник АН Казахской АССР Алма-Ата, 1981. Вып. 7. С. 35-41.

18. Макговерн (McGovern J.F.) Сандор (Sandor G.N.) Кинематический синтез регулируемых механизмов. Часть 2. Воспроизведение шатунных кривых. КиТМ, 1973, №2. С. 7-13.

19. Саркисян Ю.Л. К теории синтеза плоских шарнирных механизмов методом квадратического приближения функции. // Изв. АН Арм.ССР. Машиностроение, 1976. XXIX, №6. С. 3-9.

20. Доронин В.И. К синтезу шарнирно-рычажных направляющих механизмов методом квадратического приближения. // Труды ХабИИЖТа, вып. 29, 1967. С. 149-155.

21. Chi-Yeh H., A General Method for the Optimum Design of Mechanisms. Journal of Mechanisms. Vol. 1, 1966. pp. 301-313.

22. Mansour W.M., Osman M.O.M. The Method of Residues for the Synthesis of Coupler Curve Genarating Mechanisms. ASME Paper 70- Mech-53.

23. Hartley H.O. The Modified Gauss – Newton Method for the Fitting of Nonlinear Regression by Least Squares. Technometrics. vol. 3, 1961, pp. 269-280.

24. Эшенбах, Тесар Оптимизация шарнирных четырехзвенников, удовлетворяющих четырем обобщенным положениям в одной плоскости. // Конструирование и технология машиностроения. Изд. Мир. №1, 1969. С. 79.

25. Гаррет, Холл мл. Оптимизационный синтез многозвенников при помощи метода статистических испытаний. // Конструирование и технология машиностроения. Изд. Мир. №3, 1968. С. 40.

26. Nolle H. On Capability of Four Bar Mechanisms as Function Generators. Inst. Engrs. Australia, Mech. and Chem. Eng. Trans., VMC-3, #2, Nov. 1967, pp. 259-268.

27. Tomas IV J. The Synthesis of Mechanisms as Nonlinear Programming Problem. Journal of Mechanisms. Vol. 3, 1968. pp. 119-130.

28. Фокс (Fox R.L.), Уиллмерт (Willmert K.D.) Проектирование оптимальных механизмов, воспроизводящих заданную шатунную кривую при ограничениях в форме неравенств. // Конструирование и технология машиностроения. Изд. Мир. №1, 1967. С. 169.

29. Беллман Р.Э. Динамическое программирование. М.: Изд. Иностр. лит., 1960. – 400 с.

30. Gustavson R.E. Computer-Designed Car Window linkage. // Mechanical Engineering, September 1967. Pp. 45-51.

31. Льюис (Levis D.W.), Джиори (Gyory C.K.) Кинематический синтез плоских кривых. // Конструирование и технология машиностроения. Изд. Мир. №3, 1969. С. 96.

32. Багси (Bagsi C.), Ли (In-Ping Jack Lee) Оптимальный синтез плоских механизмов для воспроизведения траекторий и положений твердого тела с помощью метода линейной суперпозиции. // Конструирование и технология машиностроения. Изд. Мир. №1, 1975. С. 331-336.

33. Пейсах Э.Е. Критерии передачи движения для рычажных механизмов // Машиноведение. 1986, №1. С. 45-51.

34. Нечи (Nechi A.J.) Применение комбинации релаксационного и градиентного методов при моделировании на вычислительной машине плоской четырехшарнирной цепи. // Конструирование и технология машиностроения. Изд. Мир. №1, 1971. С. 106-113.

35. Льюис (Levis D.W.), Джиори (Gyory C.K.) Кинематический синтез плоских кривых. // Конструирование и технология машиностроения. Изд. Мир. №1, 1967. С. 202.

36. Пейсах Э.Е. Оптимизационный синтез рычажных механизмов. /Расчет и конструирование механизмов и деталей приборов. Л.: Машиностроение, 1975. С. 38-75.

37. Пейсах Э.Е. Метод блокируемых зон в синтезе шарнирно-рычажных механизмов // Механика машин. М.: Наука, 1969. Вып. 21-22. С. 15-28.

38. Reber. J. Neue Moglichkeiten bei der Syntese ebener Mechanismen durch iterative Analyse im Sinn von CAD. // Maschinenbautechnik, 1986. №6, s. 268-270.

39. Jonson A.L. The analysis of planar mechanisms by computer subroutine. //“Proc. 6th World Congr. Theory Mach. and Mech., New Delhi, Dec. 15-20, 1983. Vol.2.” New York e.a., 1984, p. 1252-1255.

40. Кикин А.Б., Пейсах Э.Е. Применение ПК в проектировании и исследовании рычажных механизмов. Труды международной конференции “Персональные компьютеры в проектировании и исследовании механизмов и агрегатов”, Санкт‑Петербург, 1996, с. 20-26.

41. Kikin A. B., Peisach E.E. SYNMECH: The computer system on synthesis of plane linkages. The Seventh International Symposium on Linkages and Computer Aided Design Methods – Theory and Practice of Mechanisms. SYROM’97. Bucharest, Romania, August 26‑30, 1997, Vol. 1, pp. 227-234.

42. Нестеров В.А., Пейсах Э.Е. База знаний по анализу и синтезу рычажных механизмов в компьютерной системе LINKAGES. // Вестник Московского авиационного института. 1995. №1. С.51-58.

43. Bawab S., Sabada S., Srinivasan U., Kinzel G.L., Waldron K.L. Automatic synthesis of crank driven four-bar mechanisms for two, three or four-position motion generation. // Trans. ASME J. Mech., Transmiss, and Autom. Des. 1997. №2, С.225-231.

44. Christem G., Quast V., Buchheem A.U. Auswahl funfglidriger Koppelmechanismen fur Bewegungsaufgaben mittels shneller Bahnkurvensimulation. // Konstruktion. 1994. №4. С.155-160.

45. Джолдасбеков У.А., Казыханов Х.Р., Петухов В.К. Машинный анализ кинематики механизмов. // Материалы I Всесоюзного съезда по ТММ, Алма‑Ата, Наука, 1977. с. 45.

46. Архипов Н.Н., Карпачев П.С., Майзель М.М., Плевако Н.А. Основные процессы, машины и аппараты легкой промышленности. – М.: Ростехиздат, 1961. – 492 с.

47. Архипов Н.Н., Карпачев П.С., Майзель М.М., Плевако Н.А. Основы конструирования и расчета типовых машин и аппаратов легкой промышленности. – М.: Машгиз, 1963. – 599 с.

48. Вальщиков Н.М., Зайцев Б.А., Вальщиков Ю.Н. Расчет и проектирование машин швейного производства. – Л.: Машиностроение, 1973. - 344 с

49. Гарбарук В.П. Расчет и конструирование основных механизмов челночных швейных машин. – Л.: Машиностроение, 1977. - 232 с.

50. Комиссаров А.И., Жуков В.В., Никифоров В.М., Сторожев В.В. Проектирование и расчет машин обувных и швейных производств. – М.: Машиностроение, 1978. – 431 с.

51. Маракушев Е.А., Русаков С.И., Эппель С.С. Машины швейного производства. Киев: Техника, 1967. - 321 с.

52. Полухин В.П., Рейбарх Л.Б. Швейные машины цепного стежка. – М.: Легкая индустрия, 1976. 352 с.

53. Полухин В.П., Милосердный Л.К. Конструктивно-унифицированный ряд швейных машин класса 31 с горизонтальной осью челнока. – М.: Легпромбытиздат, 1991. – 80 с.

54. Рейбарх Л.Б. Оборудование швейного производства. Л.: Легпромбытиздат, 1988. – 286 с.

55. Русаков С.И. Технология машинных стежков и наладка швейных машин. М.: Гизлегпром. 1959.

56. Червяков Ф.И. Швейные машины. / Ф.И.Червяков, А.А.Никоненко. – М.: Машиностроение, 1976. – 415 с.

57. Рубцов Б.А. Лабораторный практикум по машинам и аппаратам швейного производства: Учеб. пособие для вузов. – М.: Легпромбытиздат, 1995. – 256 с.

58. Исаев В.В. Оборудование швейных предприятий: Учеб. для проф.-техн. училищ. – 3-е изд., испр. и доп. – М.: Легпромбытиздат, 1989. – 336 с.

59. Франц В.Я. Исаев В.В. Швейные машины. – М.: Легпромбытиздат, 1986. – 181 с.

60. Полухин В.П. Проектирование механизмов швейно-обметочных машин. М.: Машиностроение, 1972. 280 с.

61. Mende S. Systematische Analyse der Transporteurgetribe von Nachmaschinen. // Textiltechnik, 1987, №9, s. 515-516

62. Закарая М.М., Гусаров А.В., Сторожев В.В. Анализ структурных ошибок в механизмах перемещения материала машин беспосадочного шва. // Техн., технол. и улучш. качества изделий легкой пром-сти. – М., 1990. С. 109-113.

63. Дзюба В.И., Орловский Б.В. Сравнительный анализ механизмов перемещения деталей и изделий, стачиваемых на швейной машине. // Изв. вузов. Технология легкой промышленности. 1982. №5 С. 101-106.

64. Милосердный Л.К. Разработка конструктивно-унифицированного ряда швейных машин с горизонтальной осью челнока: Автореф. … кан. техн. наук. М., 1989.

65. Сункуев Б.С., Рачок В.В., Ольшанский В.И., Смирнова В.Ф., Яцук А.А. К вопросу унификации механизмов швейных машин. // Соверш. техн. и технол. производств легкой пром-сти. М., 1981. С. 123-126.

66. Щербань Ю.Ю., Горобец В.А. Сравнительный анализ механизмов перемещения материалов швейных машин. // Изв. вузов. Технология легкой промышленности. 1989. №6. С. 106-109.

67. Щербань Ю.Ю. Горобец В.А. Алгоритм анализа структур механизмов с неголономными связями. // Киев. технол. ин-т легк. пром-сти. Киев, 1989.

68. Щербань Ю.Ю. Горобец В.А. Разработка адаптивного механизма перемещения материала. // Киев. технол. ин-т легк. пром-сти. Киев, 1989.

69. Щербань Ю.Ю. Горобец В.А., Скатерной В.А. Исследование механизмов комбинированной реечной подачи материала швейной машины. // Киев. технол. ин-т легк. пром-сти. Киев, 1986.

70. Павлова О.А., Прилепина М.А., Лопандин И.В., Юрьева Т.М. Разработка методов кинематического и динамического исследования многозвенных механизмов машин легкой промышленности с помощью ЭЦВМ единой серии и алгоритмического языка Фортран IV. // Повышение эффективности технол. проц. и оборуд в тектильной и легкой пром-сти. М., 1986. С. 72-73.

71. Щербань Ю.Ю., Горобец В.А. Исследование механизмов перемещения материалов швейных машин с верхней и нижней транспортирующей рейками. // Изв. вузов. Технология легкой промышленности. 1986. №2. С. 119-122.

72. Zhao Xifang, Zhang Zongming. Исследование механизма перемещения материала. // J. Shanhai Jiaotoung Univ. 1984. №6. С. 97-106.

73. Low Wangjiang, Hua Danian. Исследование кинематики механизмов продвижения материала. // J. China Text. Univ. 1992, №5. С. 63-72.

74. Щербань Ю.Ю. Горобец В.А. Алгоритм решения математической модели комбинированного перемещения материала. // Киев. технол. ин-т легк. пром-сти. Киев, 1986.

75. Лопандин И.В., Попов Ю.А., Юрьева Т.М. Система продвижения ткани «рейка - отклоняющаяся игла» в промышленных швейных машинах и ее анализ с помощью ЭВМ. // Автоматизация и комплексная механизация производственных процессов легкой промышленности. М., 1988. С. 68-74.

76. Ермолаев В.Ф., Лишанков В.А., Новгородцев В.А. Проектирование при помощи ЭВМ реечного механизма подачи материала. // Изв. вузов Технология легкой промышленности. 1979. №5 С. 124-128.

77. Сункуев Б.С. К синтезу регулируемых шестизвенных механизмов транспортирования ткани швейных машин. // Изв. вузов. Технология легкой промышленности. 1973, №3. С. 131-138.

78. Новгородцев В.А., Ермолаев В.Ф. Проектирование механизма импульсной подачи материала швейной машины. / Анал., динам. и применение сил. импульс. систем. Новосибирск, 1986. С. 115-122.

79. Смирнова В.Ф., Шарстнев В.П. Сункуев Б.С. Оптимизация механизма продвижения материала по углам передачи. // Изв. вузов. Технология легкой промышленности. 1992. №2-4.

80. Щербань Ю.Ю., Горобец В.А. Параметрический синтез механизма перемещения материала. // Киев. Технол. ин-т легк. пром-сти. – Киев. 1990.

81. Peisun Ma Проектирование механизмов швейных машин. // J. skanghai Tiafong Univ. 1987. №2. С. 102-111.

82. Masanori O., Hiroshi S. Исследование работы швейных машин. // J. Text. Mach. Soc. Jap. 1981. №9 C. 25-29.

83. Рейбарх Л.Б., Полухин В.П. Особенности процесса продвижения материала на высокоскоростных швейных машинах. // Изв. вузов. Технология легкой промышленности. 1982. №1. С. 112-114.

84. Щербань Ю.Ю., Горобец В.А., Носов М.С. Определение посадки материала при скоростном режиме транспортирования на швейных машинах. // Изв. вузов. Технология легкой промышленности. 1988. №2. С. 119-121.

85. Горобец В.А. Щербань Ю.Ю., Силивончик И.С. Транспортирующие органы швейных машин с микрошероховатой поверхностью. // Нов. в техн., технол. и орг. пр-ва швейных изделий: Тез. докл. науч.-практ. конф., Ужгород, 5-7 июня, 1991. - Киев, 1991. С. 17-18.

86. Горобец В.А. Щербань Ю.Ю., Силивончик И.С. Транспортирующие органы швейных машин с микрошероховатой поверхностью. // Изв. вузов. Технология легкой промышленности. 1991, №4. С. 98-104.

87. Mende S. Исследование взаимодействия транспортирующих органов швейной машины. // Textiltechnik, 1982, №5. С. 291-294, 266, 268.

88. Мазин Л.С. Марковец А.В. Луганцева Т.А. Новосёлов Г.А., Анализ и оптимальный синтез параметров механизмов транспортирования ткани швейных иашин: Учебное пособие. / под  ред. Мазина Л.С. , СПГУТД. – С.-Петербург, 2000. – 188 с. 

#include<stdio.H>

#include<conio.H>

#include<math.h>

#include<graphics.h>

#include<dos.h>

#include<bios.h>

/* описание постоянных */

#define pi M_PI

#define RAD M_PI/180

/* Описание функций */

void elips();

void raschet(float);

void draw(float);

void stoyka(float,float);

void polzushka(float,float,float);

void okno(float,float,float,float);

void ramka(float,float,float,float);

void grafiki();

void grafik(int);

 

void osi(float,float,float,float,int);

void help();

int traek1();

/* Описание глобальных переменных */

float n=1,t=4,R_C=3,DEK=0.7;

double O1A1=4., O5A2=0.6,

O1F=1.8,

KO4=24.,

FK=52.,

A1B=41.3,

A2H=69.,

O7H=66.5,

O7I=73.,

DB=18.,

O3C=20.,

BC=18.,

O2D=18.,

O3E=24.,

O4M=25.,

MN=18.,

EN=98.66,

EP=95.7,

PN=24.,

CR=204.,

O6R=15.,

O6S=20.,

O8V=43.,

O8W=52.5,

SV=100.,

SR=20.,

WL=23.25,

LX=20.,

IJ=33.5,

JU=26.,

UY=19.4,

Xo1=285, X=290,

Yo1=350, Y=210,

Xo2=-37.6,

Yo2=-16.6,

Xo3=-63.,

Yo3=-1.,

Xo4=56.,

Yo4=7.5,

Xo6=25.,

Yo6=181.,

Xo8=-55.5,

Yo8=104.9,

Xo5=0.,

Yo5=220.,

Xo7=-70.,

Yo7=160.9,

Xx=-32.,

Yx=72.,

Ystola=30.,

Xu=Xx-4,

Yu=Yx-10,

gam1=88,

gam2=-98,

gam3=360-136,

gam4=-180/M_PI*acos((O6R*O6R+O6S*O6S-SR*SR)/2/O6R/O6S),

gam5=-99.56,

gam6=90.,

QQ=90.,

beta=30.,

xq=64.1,

yq=9.3,

ZQb=27.9,

L1zb=29.,

LL1=8.;

 

double Xa1,Ya1,Xa2,Ya2,Xb,Yb,Xc,Yc,Xk,Yk,Xm,Ym,Xe,Ye,Xn,Yn,Xp,Yp,Xf,Yf,Xd,Yd,Xq,Yq,

  Xz,Yz,Xr,Yr,Xs,Ys,Xv,Yv,Xw,Yw,Xh,Yh,Xi,Yi,Xl,Yl,Xj,Yj,Xy,Yy,Xqb,Yqb,Xzb,Yzb,Xl1,Yl1,

A,B,C,A2,B2,C2,A3,B3,C3,A4,B4,C4,A5,B5,C5,A6,B6,C6,A7,B7,C7,

A8,B8,C8,A9,B9,C9,EQ,R,A10,B10,C10,BB,CC,q,L1y,RRR,

cosfi2,sinfi2,cosfi5,sinfi5,cosfi4,sinfi4,cosfi3,sinfi3,alfa,

    cosfi7,sinfi7,cosfi6,sinfi6,cosfi9,sinfi9,cosfi8,sinfi8,

cosfi11,sinfi11,cosfi10,sinfi10,cosfi13,sinfi13,cosfi12,sinfi12,

cosfi15,sinfi15,cosfi14,sinfi14,cosfi17,sinfi17,cosfi16,sinfi16,

cosfi19,sinfi19,cosfi18,sinfi18,cosfi20,sinfi20,cosfi21,sinfi21,

fi2,fi3,fi4,fi5,fi6,fi7,fi8,fi9,fi10,fi11,fi12,fi13,fi14,fi15,

fi16,fi17,fi18,fi19,fi20,fi21,fi22;

main()

{

 float fi;

 

 int GD=VGA,GM=1;

 int key,sing=1,v_p=0,a_p=1,x_x=0;

 char buffer [80];

 

 initgraph(&GD,&GM,"c:\\borlandc\\bgi\\");

 setbkcolor(0);

 

 for(fi=0;fi<=360;fi+=5)

 {

 

key=bioskey(1);

if(key!=0 && x_x==0) {x_x=1;getch();}

if(key==0x4400) break;

if(key==0x3b00) help();

if(key==0x3d00) {grafiki();key=0;n=1;t=4;Xo1=285;Yo1=350;okno(X-280,DEK*(Y-200),X+240,DEK*(Y+250));}

//if(key==0x231) sing=1;

//if(key==0x332) sing=2;

//if(key==0xb30) sing=0;

if(key==0x3920) getch();

if(key==0x11b) {n=1;t=4;Xo1=285;Yo1=350;}

if(key==0x4e2b ) {n+=1;}

if(key==0x4a2d && n>1) {n-=1;}

if(key==0x4800 ) {Yo1+=10*n;getch();}

if(key==0x5000 ) {Yo1-=10*n;getch();}

if(key==0x4b00 ) {Xo1+=10*n;getch();}

if(key==0x4d00 ) {Xo1-=10*n;getch();}

 

if(key==0x4e2b) t+=1;

if(key==0x4a2d) t-=1;

if(key!=0) {key=0;getch();}

setvisualpage(v_p);

setactivepage(a_p);

setfillstyle(1,3);

okno(X-280,DEK*(Y-200),X+240,DEK*(Y+250));

elips();

raschet(fi);

draw(fi);

setfillstyle(1,8);

bar(0,0,X-281,350);

bar(X+241,0,640,350);

bar(0,0,640,DEK*(Y-200));

bar(0,DEK*(Y+252),640,350);

okno(535,7,635,348);

okno(10,324,530,348);

setcolor(14);

outtextxy(290,338,"<SPACE> - Пауза");

outtextxy(15,338,"<ESCAPE> - Начальные параметры");

outtextxy(15,328,"<+/-> - Увеличение и уменьшение");

outtextxy(540,35,"<F3>-График");

outtextxy(540,50,"<F10>-Выход");

outtextxy(540,20,"<F1>-Помощь");

ramka(X-280,DEK*(Y-200),X+240,DEK*(Y+250));

sprintf(buffer,"fi21= %.1f°",RRR);

outtextxy(538,65,buffer);

sprintf(buffer,"fi22= %.1f°",fi22-360);

outtextxy(538,80,buffer);

sprintf(buffer,"fi3= %.1f°",fi3);

outtextxy(538,95,buffer);

sprintf(buffer,"fi4= %.1f°",fi4);

outtextxy(538,110,buffer);

sprintf(buffer,"fi5= %.1f°",fi5);

outtextxy(538,125,buffer);

sprintf(buffer,"fi6= %.1f°",fi6);

outtextxy(538,140,buffer);

sprintf(buffer,"fi7= %.1f°",fi7);

outtextxy(538,155,buffer);

sprintf(buffer,"fi8= %.1f°",fi8);

outtextxy(538,170,buffer);

sprintf(buffer,"fi9= %.1f°",fi9);

outtextxy(538,185,buffer);

sprintf(buffer,"fi10= %.1f°",fi10);

outtextxy(538,200,buffer);

sprintf(buffer,"fi11= %.1f°",fi11);

outtextxy(538,215,buffer);

sprintf(buffer,"fi12= %.1f°",fi12);

outtextxy(538,230,buffer);

sprintf(buffer,"fi13= %.1f°",fi13);

outtextxy(538,245,buffer);

sprintf(buffer,"fi14= %.1f°",fi14);

outtextxy(538,260,buffer);

sprintf(buffer,"fi15= %.1f°",fi15);

outtextxy(538,275,buffer);

sprintf(buffer,"fi16= %.1f°",fi16);

outtextxy(538,290,buffer);

sprintf(buffer,"fi17= %.1f°",fi17);

outtextxy(538,305,buffer);

sprintf(buffer,"fi18= %.1f°",fi18);

outtextxy(538,320,buffer);

sprintf(buffer,"fi19= %.1f°",fi19);

outtextxy(538,335,buffer);

setvisualpage(a_p);

delay(67);

if(v_p==0) v_p=1; else v_p=0;

if(a_p==0) a_p=1; else a_p=0;

if(fi>=360) fi=0;

}

 getch();

 closegraph();

 return 0;

}

traek1()

{

 float fi;

 float N,M,Xmin=+32768,Xmax=-32768,Ymin=+32768,Ymax=-32768;

 int i=0;

 for(fi=0;fi<=360;fi+=1)

 {

raschet(fi);

if(Xq<Xmin) Xmin=Xq;

if(Xq>Xmax) Xmax=Xq;

if(Yq<Ymin) Ymin=Yq;

if(Yq>Ymax) Ymax=Yq;

 }

 for(fi=0;fi<=360;fi++)

 {

raschet(fi);

if(i==1){setcolor(4);line(n*N+Xo1,n*(-M)+Yo1,n*Xq+Xo1,n*(-Yq)+Yo1);}

N=Xq;M=Yq;i=1;

 }

 setcolor(14);

 line(n*Xmin+Xo1,n*(-(Ymin+Ymax)/2)+Yo1,n*Xmax+Xo1,n*(-(Ymin+Ymax)/2)+Yo1);

 line(n*(Xmin+Xmax)/2+Xo1,n*(-Ymax)+Yo1,n*(Xmin+Xmax)/2+Xo1,n*(-Ymin)+Yo1);

 fi=0;

 return 0;

}

void raschet(float fi)

{

Xa1=O1A1*cos(fi*RAD);

Ya1=O1A1*sin(fi*RAD);

Xa2=Xo5+O5A2*cos((87-fi)*RAD);

Ya2=Yo5+O5A2*sin((87-fi)*RAD);

 

Xf=O1F*cos((fi+gam3)*RAD);

Yf=O1F*sin((fi+gam3)*RAD);

A=pow(Xf-Xo4,2)+pow(Yf-Yo4,2)+KO4*KO4-FK*FK;

B=2*(Xf-Xo4)*KO4;

C=2*(Yf-Yo4)*KO4;

cosfi3=(A*B-C*sqrt(B*B+C*C-A*A))/(B*B+C*C);

sinfi3=(A*C+B*sqrt(B*B+C*C-A*A))/(B*B+C*C);

if(cosfi3>=0 && sinfi3>=0) fi3=180/M_PI*acos(cosfi3);

if(cosfi3<0 && sinfi3>0) fi3=180/M_PI*acos(cosfi3);

if(cosfi3<0 && sinfi3<0) fi3=180+fabs(180/M_PI*asin(sinfi3));

if(cosfi3>0 && sinfi3<0) fi3=360-180/M_PI*acos(cosfi3);

cosfi2=(KO4*cosfi3-(Xf-Xo4))/FK;

sinfi2=(KO4*sinfi3-(Yf-Yo4))/FK;

if(cosfi2>=0 && sinfi2>=0) fi2=180/M_PI*acos(cosfi2);

if(cosfi2<0 && sinfi2>0) fi2=180/M_PI*acos(cosfi2);

if(cosfi2<0 && sinfi2<0) fi2=180+fabs(180/M_PI*asin(sinfi2));

if(cosfi2>0 && sinfi2<0) fi2=360-180/M_PI*acos(cosfi2);

Xm=Xo4+O4M*(cosfi3*cos(gam2*RAD)-sinfi3*sin(gam2*RAD));

Ym=Yo4+O4M*(sinfi3*cos(gam2*RAD)+sin(gam2*RAD)*cosfi3);

Xk=Xf+FK*cosfi2;

Yk=Yf+FK*sinfi2;

Xd=Xo2+O2D*cos((90+beta)*RAD);

  Yd=Yo2+O2D*sin((90+beta)*RAD);

A2=pow(Xa1-Xd,2)+pow(Ya1-Yd,2)+DB*DB-A1B*A1B;

B2=2*(Xa1-Xd)*DB;

C2=2*(Ya1-Yd)*DB;

cosfi5=(A2*B2+C2*sqrt(B2*B2+C2*C2-A2*A2))/(B2*B2+C2*C2);

sinfi5=(A2*C2-B2*sqrt(B2*B2+C2*C2-A2*A2))/(B2*B2+C2*C2);

if(cosfi5>=0 && sinfi5>=0) fi5=180/M_PI*acos(cosfi5);

if(cosfi5<0 && sinfi5>0) fi5=180/M_PI*acos(cosfi5);

if(cosfi5<0 && sinfi5<0) fi5=180+fabs(180/M_PI*asin(sinfi5));

if(cosfi5>0 && sinfi5<0) fi5=360-180/M_PI*acos(cosfi5);

cosfi4=(DB*cosfi5-(Xa1-Xd))/A1B;

sinfi4=(DB*sinfi5-(Ya1-Yd))/A1B;

if(cosfi4>=0 && sinfi4>=0) fi4=180/M_PI*acos(cosfi4);

 if(cosfi4<0 && sinfi4>0) fi4=180/M_PI*acos(cosfi4);

 if(cosfi4<0 && sinfi4<0) fi4=180+fabs(180/M_PI*asin(sinfi4));

 if(cosfi4>0 && sinfi4<0) fi4=360-180/M_PI*acos(cosfi4);

Xb=Xa1+A1B*cosfi4;

Yb=Ya1+A1B*sinfi4;

 

A3=pow(Xb-Xo3,2)+pow(Yb-Yo3,2)+O3C*O3C-BC*BC;

B3=2*(Xb-Xo3)*O3C;

C3=2*(Yb-Yo3)*O3C;

cosfi7=(A3*B3-C3*sqrt(B3*B3+C3*C3-A3*A3))/(B3*B3+C3*C3);

sinfi7=(A3*C3+B3*sqrt(B3*B3+C3*C3-A3*A3))/(B3*B3+C3*C3);

if(cosfi7>=0 && sinfi7>=0) fi7=180/M_PI*acos(cosfi7);

 if(cosfi7<0 && sinfi7>0) fi7=180/M_PI*acos(cosfi7);

 if(cosfi7<0 && sinfi7<0) fi7=180+fabs(180/M_PI*asin(sinfi7));

 if(cosfi7>0 && sinfi7<0) fi7=360-180/M_PI*acos(cosfi7);

cosfi6=(O3C*cosfi7-(Xb-Xo3))/BC;

sinfi6=(O3C*sinfi7-(Yb-Yo3))/BC;

if(cosfi6>=0 && sinfi6>=0) fi6=180/M_PI*acos(cosfi6);

 if(cosfi6<0 && sinfi6>0) fi6=180/M_PI*acos(cosfi6);

 if(cosfi6<0 && sinfi6<0) fi6=180+fabs(180/M_PI*asin(sinfi6));

 if(cosfi6>0 && sinfi6<0) fi6=360-180/M_PI*acos(cosfi6);

Xc=Xo3+O3C*cosfi7;

Yc=Yo3+O3C*sinfi7;

Xe=Xo3+O3E*(cosfi7*cos(gam1*RAD)-sinfi7*sin(gam1*RAD));

Ye=Yo3+O3E*(sinfi7*cos(gam1*RAD)+sin(gam1*RAD)*cosfi7);

 

A4=pow(Xe-Xm,2)+pow(Ye-Ym,2)+MN*MN-EN*EN;

B4=2*(Xe-Xm)*MN;

C4=2*(Ye-Ym)*MN;

cosfi9=(A4*B4-C4*sqrt(B4*B4+C4*C4-A4*A4))/(B4*B4+C4*C4);

sinfi9=(A4*C4+B4*sqrt(B4*B4+C4*C4-A4*A4))/(B4*B4+C4*C4);

if(cosfi9>=0 && sinfi9>=0) fi9=180/M_PI*acos(cosfi9);

if(cosfi9<0 && sinfi9>0) fi9=180/M_PI*acos(cosfi9);

if(cosfi9<0 && sinfi9<0) fi9=180+fabs(180/M_PI*asin(sinfi9));

if(cosfi9>0 && sinfi9<0) fi9=360-180/M_PI*acos(cosfi9);

cosfi8=(MN*cosfi9-(Xe-Xm))/EN;

sinfi8=(MN*sinfi9-(Ye-Ym))/EN;

if(cosfi8>=0 && sinfi8>=0) fi8=180/M_PI*acos(cosfi8);

if(cosfi8<0 && sinfi8>0) fi8=180/M_PI*acos(cosfi8);

if(cosfi8<0 && sinfi8<0) fi8=180+fabs(180/M_PI*asin(sinfi8));

if(cosfi8>0 && sinfi8<0) fi8=360-180/M_PI*acos(cosfi8);

Xn=Xe+EN*cosfi8;

Yn=Ye+EN*sinfi8;

Xp=Xe+EP*(cosfi8*EP/EN-sinfi8*PN/EN);

Yp=Ye+EP*(sinfi8*EP/EN+cosfi8*PN/EN);

Xz=Xe+xq*(cosfi8*EP/EN-sinfi8*PN/EN);

Yz=Ye+xq*(sinfi8*EP/EN+cosfi8*PN/EN);

Xq=Xz+yq*((cosfi8*EP/EN-sinfi8*PN/EN)*cos(pi/2)-sin(pi/2)*(sinfi8*EP/EN+cosfi8*PN/EN));

Yq=Yz+yq*((sinfi8*EP/EN+cosfi8*PN/EN)*cos(pi/2)+sin(pi/2)*(cosfi8*EP/EN-sinfi8*PN/EN));

 

A5=pow(Xc-Xo6,2)+pow(Yc-Yo6,2)+O6R*O6R-CR*CR;

B5=2*(Xc-Xo6)*O6R;

C5=2*(Yc-Yo6)*O6R;

cosfi11=(A5*B5-C5*sqrt(B5*B5+C5*C5-A5*A5))/(B5*B5+C5*C5);

sinfi11=(A5*C5+B5*sqrt(B5*B5+C5*C5-A5*A5))/(B5*B5+C5*C5);

if(cosfi11>=0 && sinfi11>=0) fi11=180/M_PI*acos(cosfi11);

if(cosfi11<0 && sinfi11>0) fi11=180/M_PI*acos(cosfi11);

if(cosfi11<0 && sinfi11<0) fi11=180+fabs(180/M_PI*asin(sinfi11));

if(cosfi11>0 && sinfi11<0) fi11=360-180/M_PI*acos(cosfi11);

cosfi10=(O6R*cosfi11-(Xc-Xo6))/CR;

sinfi10=(O6R*sinfi11-(Yc-Yo6))/CR;

if(cosfi10>=0 && sinfi10>=0) fi10=180/M_PI*acos(cosfi10);

if(cosfi10<0 && sinfi10>0) fi10=180/M_PI*acos(cosfi10);

if(cosfi10<0 && sinfi10<0) fi10=180+fabs(180/M_PI*asin(sinfi10));

if(cosfi10>0 && sinfi10<0) fi10=360-180/M_PI*acos(cosfi10);

Xr=Xc+CR*cosfi10;

Yr=Yc+CR*sinfi10;

Xs=Xo6+O6S*(cosfi11*cos(gam4*RAD)-sinfi11*sin(gam4*RAD));

Ys=Yo6+O6S*(sinfi11*cos(gam4*RAD)+sin(gam4*RAD)*cosfi11);

 

A6=pow(Xs-Xo8,2)+pow(Ys-Yo8,2)+O8V*O8V-SV*SV;

B6=2*(Xs-Xo8)*O8V;

C6=2*(Ys-Yo8)*O8V;

cosfi13=(A6*B6-C6*sqrt(B6*B6+C6*C6-A6*A6))/(B6*B6+C6*C6);

sinfi13=(A6*C6+B6*sqrt(B6*B6+C6*C6-A6*A6))/(B6*B6+C6*C6);

if(cosfi13>=0 && sinfi13>=0) fi13=180/M_PI*acos(cosfi13);

if(cosfi13<0 && sinfi13>0) fi13=180/M_PI*acos(cosfi13);

if(cosfi13<0 && sinfi13<0) fi13=180+fabs(180/M_PI*asin(sinfi13));

if(cosfi13>0 && sinfi13<0) fi13=360-180/M_PI*acos(cosfi13);

cosfi12=(O8V*cosfi13-(Xs-Xo8))/SV;

sinfi12=(O8V*sinfi13-(Ys-Yo8))/SV;

if(cosfi12>=0 && sinfi12>=0) fi12=180/M_PI*acos(cosfi12);

if(cosfi12<0 && sinfi12>0) fi12=180/M_PI*acos(cosfi12);

if(cosfi12<0 && sinfi12<0) fi12=180+fabs(180/M_PI*asin(sinfi12));

if(cosfi12>0 && sinfi12<0) fi12=360-180/M_PI*acos(cosfi12);

Xv=Xs+SV*cosfi12;

Yv=Ys+SV*sinfi12;

Xw=Xo8-O8W*cosfi13;

Yw=Yo8-O8W*sinfi13;

 

A7=pow(Xa2-Xo7,2)+pow(Ya2-Yo7,2)+O7H*O7H-A2H*A2H;

B7=2*(Xa2-Xo7)*O7H;

C7=2*(Ya2-Yo7)*O7H;

cosfi15=(A7*B7-C7*sqrt(B7*B7+C7*C7-A7*A7))/(B7*B7+C7*C7);

sinfi15=(A7*C7+B7*sqrt(B7*B7+C7*C7-A7*A7))/(B7*B7+C7*C7);

if(cosfi15>=0 && sinfi15>=0) fi15=180/M_PI*acos(cosfi15);

if(cosfi15<0 && sinfi15>0) fi15=180/M_PI*acos(cosfi15);

if(cosfi15<0 && sinfi15<0) fi15=180+fabs(180/M_PI*asin(sinfi15));

if(cosfi15>0 && sinfi15<0) fi15=360-180/M_PI*acos(cosfi15);

cosfi14=(O7H*cosfi15-(Xa2-Xo7))/A2H;

sinfi14=(O7H*sinfi15-(Ya2-Yo7))/A2H;

if(cosfi14>=0 && sinfi14>=0) fi14=180/M_PI*acos(cosfi14);

if(cosfi14<0 && sinfi14>0) fi14=180/M_PI*acos(cosfi14);

if(cosfi14<0 && sinfi14<0) fi14=180+fabs(180/M_PI*asin(sinfi14));

if(cosfi14>0 && sinfi14<0) fi14=360-180/M_PI*acos(cosfi14);

Xh=Xa2+A2H*cosfi14;

Yh=Ya2+A2H*sinfi14;

Xi=Xo7-O7I*cosfi15;

Yi=Yo7-O7I*sinfi15;

 

A8=pow(Xw-Xx,2)+pow(Yw-Yx,2)+LX*LX-WL*WL;

B8=2*(Xw-Xx)*LX;

C8=2*(Yw-Yx)*LX;

cosfi17=(A8*B8-C8*sqrt(B8*B8+C8*C8-A8*A8))/(B8*B8+C8*C8);

sinfi17=(A8*C8+B8*sqrt(B8*B8+C8*C8-A8*A8))/(B8*B8+C8*C8);

if(cosfi17>=0 && sinfi17>=0) fi17=180/M_PI*acos(cosfi17);

if(cosfi17<0 && sinfi17>0) fi17=180/M_PI*acos(cosfi17);

if(cosfi17<0 && sinfi17<0) fi17=180+fabs(180/M_PI*asin(sinfi17));

if(cosfi17>0 && sinfi17<0) fi17=360-180/M_PI*acos(cosfi17);

cosfi16=(LX*cosfi17-(Xw-Xx))/WL;

sinfi16=(LX*sinfi17-(Yw-Yx))/WL;

if(cosfi16>=0 && sinfi16>=0) fi16=180/M_PI*acos(cosfi16);

if(cosfi16<0 && sinfi16>0) fi16=180/M_PI*acos(cosfi16);

if(cosfi16<0 && sinfi16<0) fi16=180+fabs(180/M_PI*asin(sinfi16));

if(cosfi16>0 && sinfi16<0) fi16=360-180/M_PI*acos(cosfi16);

Xl=Xw+WL*cosfi16;

Yl=Yw+WL*sinfi16;

 

A9=pow(Xi-Xu,2)+pow(Yi-Yu,2)+JU*JU-IJ*IJ;

B9=2*(Xi-Xu)*JU;

C9=2*(Yi-Yu)*JU;

cosfi19=(A9*B9+C9*sqrt(B9*B9+C9*C9-A9*A9))/(B9*B9+C9*C9);

sinfi19=(A9*C9-B9*sqrt(B9*B9+C9*C9-A9*A9))/(B9*B9+C9*C9);

if(cosfi19>=0 && sinfi19>=0) fi19=180/M_PI*acos(cosfi19);

if(cosfi19<0 && sinfi19>0) fi19=180/M_PI*acos(cosfi19);

if(cosfi19<0 && sinfi19<0) fi19=180+fabs(180/M_PI*asin(sinfi19));

if(cosfi19>0 && sinfi19<0) fi19=360-180/M_PI*acos(cosfi19);

cosfi18=(JU*cosfi19-(Xi-Xu))/IJ;

sinfi18=(JU*sinfi19-(Yi-Yu))/IJ;

if(cosfi18>=0 && sinfi18>=0) fi18=180/M_PI*acos(cosfi18);

if(cosfi18<0 && sinfi18>0) fi18=180/M_PI*acos(cosfi18);

if(cosfi18<0 && sinfi18<0) fi18=180+fabs(180/M_PI*asin(sinfi18));

if(cosfi18>0 && sinfi18<0) fi18=360-180/M_PI*acos(cosfi18);

Xj=Xi+IJ*cosfi18;

Yj=Yi+IJ*sinfi18;

Xy=Xu+UY*(cosfi19*cos(gam5*RAD)-sinfi19*sin(gam5*RAD));

Yy=Yu+UY*(sinfi19*cos(gam5*RAD)+sin(gam5*RAD)*cosfi19);

 

q=sqrt(pow(Xl-Xy,2)+pow(Yl-Yy,2));

L1y=sqrt(q*q-LL1*LL1);

A10=LL1;

B10=L1y;

C10=Yl-Yy;

sinfi20=(-B10*C10-A10*sqrt(A10*A10+B10*B10-C10*C10))/(A10*A10+B10*B10);

cosfi20=(-A10*C10+B10*sqrt(A10*A10+B10*B10-C10*C10))/(A10*A10+B10*B10);

if(cosfi20>=0 && sinfi20>=0) fi20=180/M_PI*acos(cosfi20);

if(cosfi20<0 && sinfi20>0) fi20=180/M_PI*acos(cosfi20);

if(cosfi20<0 && sinfi20<0) fi20=180+fabs(180/M_PI*asin(sinfi20));

if(cosfi20>0 && sinfi20<0) fi20=360-180/M_PI*acos(cosfi20);

Xl1=Xl+LL1*cos((fi20+QQ)*RAD);

Yl1=Yl+LL1*sin((fi20+QQ)*RAD);

Xzb=Xl1+L1zb*cos(fi20*RAD);

Yzb=Yl1+L1zb*sin(fi20*RAD);

Xqb=Xzb+ZQb*cos((fi20-QQ)*RAD);

Yqb=Yzb+ZQb*sin((fi20-QQ)*RAD);

RRR=sqrt(pow(Xl-Xqb,2)+pow(Yl-Yqb,2));

return;

}

void elips()

{

 float fi;

 for(fi=0;fi<=360;fi++)

 {

raschet(fi);

putpixel(n*Xq+Xo1,DEK*(n*(-Yq)+Yo1),4);

putpixel(n*Xqb+Xo1,DEK*(n*(-Yqb)+Yo1),4);

 }

 return;

}

void draw(float fi)

{

/*Стойки*/

stoyka(Xo1,Yo1);

stoyka(n*Xo2+Xo1,n*(-Yo2)+Yo1);

stoyka(n*Xo3+Xo1,n*(-Yo3)+Yo1);

stoyka(n*Xo4+Xo1,n*(-Yo4)+Yo1);

stoyka(n*Xd+Xo1,n*(-Yd)+Yo1);

stoyka(n*Xo6+Xo1,n*(-Yo6)+Yo1);

stoyka(n*Xo8+Xo1,n*(-Yo8)+Yo1);

stoyka(n*Xo5+Xo1,n*(-Yo5)+Yo1);

stoyka(n*Xo7+Xo1,n*(-Yo7)+Yo1);

 

/*Звенья*/

setlinestyle(0,1,3);

setcolor(1);

line(Xo1,DEK*Yo1,n*Xa1+Xo1,DEK*(n*(-Ya1)+Yo1));

line(Xo1,DEK*Yo1,n*Xf+Xo1,DEK*(n*(-Yf)+Yo1));

line(n*Xo4+Xo1,DEK*(n*(-Yo4)+Yo1),n*Xk+Xo1,DEK*(n*(-Yk)+Yo1));

line(n*Xf+Xo1,DEK*(n*(-Yf)+Yo1),n*Xk+Xo1,DEK*(n*(-Yk)+Yo1));

line(n*Xm+Xo1,DEK*(n*(-Ym)+Yo1),n*Xk+Xo1,DEK*(n*(-Yk)+Yo1));

line(n*Xo4+Xo1,DEK*(n*(-Yo4)+Yo1),n*Xm+Xo1,DEK*(n*(-Ym)+Yo1));

line(n*Xd+Xo1,DEK*(n*(-Yd)+Yo1),n*Xb+Xo1,DEK*(n*(-Yb)+Yo1));

line(n*Xa1+Xo1,DEK*(n*(-Ya1)+Yo1),n*Xb+Xo1,DEK*(n*(-Yb)+Yo1));

line(n*Xc+Xo1,DEK*(n*(-Yc)+Yo1),n*Xb+Xo1,DEK*(n*(-Yb)+Yo1));

line(n*Xc+Xo1,DEK*(n*(-Yc)+Yo1),n*Xo3+Xo1,DEK*(n*(-Yo3)+Yo1));

line(n*Xo2+Xo1,DEK*(n*(-Yo2)+Yo1),n*Xd+Xo1,DEK*(n*(-Yd)+Yo1));

line(n*Xe+Xo1,DEK*(n*(-Ye)+Yo1),n*Xc+Xo1,DEK*(n*(-Yc)+Yo1));

line(n*Xo3+Xo1,DEK*(n*(-Yo3)+Yo1),n*Xe+Xo1,DEK*(n*(-Ye)+Yo1));

line(n*Xe+Xo1,DEK*(n*(-Ye)+Yo1),n*Xn+Xo1,DEK*(n*(-Yn)+Yo1));

line(n*Xn+Xo1,DEK*(n*(-Yn)+Yo1),n*Xm+Xo1,DEK*(n*(-Ym)+Yo1));

line(n*Xe+Xo1,DEK*(n*(-Ye)+Yo1),n*Xp+Xo1,DEK*(n*(-Yp)+Yo1));

line(n*Xn+Xo1,DEK*(n*(-Yn)+Yo1),n*Xp+Xo1,DEK*(n*(-Yp)+Yo1));

line(n*Xz+Xo1,DEK*(n*(-Yz)+Yo1),n*Xq+Xo1,DEK*(n*(-Yq)+Yo1));

line(n*Xc+Xo1,DEK*(n*(-Yc)+Yo1),n*Xr+Xo1,DEK*(n*(-Yr)+Yo1));

line(n*Xr+Xo1,DEK*(n*(-Yr)+Yo1),n*Xo6+Xo1,DEK*(n*(-Yo6)+Yo1));

line(n*Xs+Xo1,DEK*(n*(-Ys)+Yo1),n*Xo6+Xo1,DEK*(n*(-Yo6)+Yo1));

line(n*Xr+Xo1,DEK*(n*(-Yr)+Yo1),n*Xs+Xo1,DEK*(n*(-Ys)+Yo1));

line(n*Xs+Xo1,DEK*(n*(-Ys)+Yo1),n*Xv+Xo1,DEK*(n*(-Yv)+Yo1));

line(n*Xv+Xo1,DEK*(n*(-Yv)+Yo1),n*Xo8+Xo1,DEK*(n*(-Yo8)+Yo1));

line(n*Xw+Xo1,DEK*(n*(-Yw)+Yo1),n*Xo8+Xo1,DEK*(n*(-Yo8)+Yo1));

line(n*Xo5+Xo1,DEK*(n*(-Yo5)+Yo1),n*Xa2+Xo1,DEK*(n*(-Ya2)+Yo1));

line(n*Xh+Xo1,DEK*(n*(-Yh)+Yo1),n*Xa2+Xo1,DEK*(n*(-Ya2)+Yo1));

line(n*Xh+Xo1,DEK*(n*(-Yh)+Yo1),n*Xo7+Xo1,DEK*(n*(-Yo7)+Yo1));

line(n*Xo7+Xo1,DEK*(n*(-Yo7)+Yo1),n*Xi+Xo1,DEK*(n*(-Yi)+Yo1));

line(n*Xw+Xo1,DEK*(n*(-Yw)+Yo1),n*Xl+Xo1,DEK*(n*(-Yl)+Yo1));

line(n*Xl+Xo1,DEK*(n*(-Yl)+Yo1),n*Xx+Xo1,DEK*(n*(-Yx)+Yo1));

line(n*Xx+Xo1,DEK*(n*(-Yx)+Yo1),n*Xu+Xo1,DEK*(n*(-Yu)+Yo1));

line(n*Xi+Xo1,DEK*(n*(-Yi)+Yo1),n*Xj+Xo1,DEK*(n*(-Yj)+Yo1));

line(n*Xj+Xo1,DEK*(n*(-Yj)+Yo1),n*Xu+Xo1,DEK*(n*(-Yu)+Yo1));

line(n*Xx+Xo1,DEK*(n*(-Yx)+Yo1),n*(Xx+16)+Xo1,DEK*(n*(-Yx)+Yo1));

line(n*Xu+Xo1,DEK*(n*(-Yu)+Yo1),n*Xy+Xo1,DEK*(n*(-Yy)+Yo1));

line(n*Xj+Xo1,DEK*(n*(-Yj)+Yo1),n*Xy+Xo1,DEK*(n*(-Yy)+Yo1));

//line(n*Xl+Xo1,DEK*(n*(-Yl)+Yo1),n*Xzb+Xo1,DEK*(n*(-Yzb)+Yo1));

line(n*Xzb+Xo1,DEK*(n*(-Yzb)+Yo1),n*Xqb+Xo1,DEK*(n*(-Yqb)+Yo1));

line(n*Xl+Xo1,DEK*(n*(-Yl)+Yo1),n*Xl1+Xo1,DEK*(n*(-Yl1)+Yo1));

line(n*Xl1+Xo1,DEK*(n*(-Yl1)+Yo1),n*Xzb+Xo1,DEK*(n*(-Yzb)+Yo1));

 

setlinestyle(0,0,1);

setcolor(4);

line(50,DEK*(n*(-Ystola)+Yo1),450,DEK*(n*(-Ystola)+Yo1));

line(50,DEK*(n*(-Ystola-2.5)+Yo1),450,DEK*(n*(-Ystola-2.5)+Yo1));

line(50,DEK*(n*(-Ystola-3.5)+Yo1),450,DEK*(n*(-Ystola-3.5)+Yo1));

line(Xo1,DEK*(n*(-0)+Yo1),Xo1,DEK*(n*(-Ystola-40)+Yo1));

 

polzushka(n*Xy+Xo1,n*(-Yy)+Yo1,-fi20);

 

setlinestyle(0,0,3);

arc(Xo1,DEK*Yo1,fi+gam3,fi,6);

 

 

arc(Xo1+n*Xo8,DEK*(n*(-Yo8)+Yo1),fi13+180,fi13,8);

arc(Xo1+n*Xo7,DEK*(n*(-Yo7)+Yo1),fi15+180,fi15,8);

arc(Xo1+n*Xu,DEK*(n*(-Yu)+Yo1),fi19,fi19+gam5,7);

arc(Xo1+n*Xx,DEK*(n*(-Yx)+Yo1),0,240,7);

setlinestyle(0,0,1);

setfillstyle(1,3);

setcolor(1);

 

fillellipse(Xo1,DEK*Yo1,R_C,R_C);

fillellipse(Xo1+Xo3*n,DEK*(Yo1-Yo3*n),R_C,R_C);

fillellipse(Xo1+Xo4*n,DEK*(Yo1-Yo4*n),R_C,R_C);

fillellipse(Xo1+Xo2*n,DEK*(Yo1-Yo2*n),R_C,R_C);

fillellipse(Xo1+Xo6*n,DEK*(Yo1-Yo6*n),R_C,R_C);

 

fillellipse(Xo1+Xo7*n,DEK*(Yo1-Yo7*n),R_C,R_C);

fillellipse(Xo1+Xo5*n,DEK*(Yo1-Yo5*n),R_C,R_C);

fillellipse(Xo1+Xo8*n,DEK*(Yo1-Yo8*n),R_C,R_C);

fillellipse(n*Xa1+Xo1,DEK*(n*(-Ya1)+Yo1),R_C,R_C);

fillellipse(n*Xa2+Xo1,DEK*(n*(-Ya2)+Yo1),R_C,R_C);

fillellipse(n*Xh+Xo1,DEK*(n*(-Yh)+Yo1),R_C,R_C);

fillellipse(n*Xl+Xo1,DEK*(n*(-Yl)+Yo1),R_C,R_C);

fillellipse(n*Xf+Xo1,DEK*(n*(-Yf)+Yo1),R_C,R_C);

fillellipse(n*Xr+Xo1,DEK*(n*(-Yr)+Yo1),R_C,R_C);

fillellipse(n*Xs+Xo1,DEK*(n*(-Ys)+Yo1),R_C,R_C);

fillellipse(n*Xk+Xo1,DEK*(n*(-Yk)+Yo1),R_C,R_C);

fillellipse(n*Xm+Xo1,DEK*(n*(-Ym)+Yo1),R_C,R_C);

fillellipse(n*Xd+Xo1,DEK*(n*(-Yd)+Yo1),R_C,R_C);

fillellipse(n*Xb+Xo1,DEK*(n*(-Yb)+Yo1),R_C,R_C);

fillellipse(n*Xc+Xo1,DEK*(n*(-Yc)+Yo1),R_C,R_C);

fillellipse(n*Xe+Xo1,DEK*(n*(-Ye)+Yo1),R_C,R_C);

fillellipse(n*Xn+Xo1,DEK*(n*(-Yn)+Yo1),R_C,R_C);

fillellipse(n*Xp+Xo1,DEK*(n*(-Yp)+Yo1),R_C,R_C);

fillellipse(n*Xv+Xo1,DEK*(n*(-Yv)+Yo1),R_C,R_C);

fillellipse(n*Xw+Xo1,DEK*(n*(-Yw)+Yo1),R_C,R_C);

fillellipse(n*Xi+Xo1,DEK*(n*(-Yi)+Yo1),R_C,R_C);

fillellipse(n*Xx+Xo1,DEK*(n*(-Yx)+Yo1),R_C,R_C);

fillellipse(n*Xu+Xo1,DEK*(n*(-Yu)+Yo1),R_C,R_C);

fillellipse(n*Xj+Xo1,DEK*(n*(-Yj)+Yo1),R_C,R_C);

fillellipse(n*Xy+Xo1,DEK*(n*(-Yy)+Yo1),R_C,R_C);

 

/*Текст*/

setcolor(14);

outtextxy(Xo1,DEK*Yo1+20,"O1");

outtextxy(Xo1+Xo3*n,DEK*(Yo1-Yo3*n)+20,"O3");

outtextxy(Xo1+Xo4*n-35,DEK*(Yo1-Yo4*n)+10,"O4");

outtextxy(Xo1+Xo6*n-5,DEK*(Yo1-Yo6*n)-17,"O6");

outtextxy(Xo1+Xo8*n+15,DEK*(Yo1-Yo8*n)-7,"O8");

outtextxy(Xo1+Xo7*n+15,DEK*(Yo1-Yo7*n)-7,"O7");

outtextxy(Xo1+Xo5*n+15,DEK*(Yo1-Yo5*n)-7,"O5");

outtextxy(Xo1+Xo2*n,DEK*(Yo1-Yo2*n)+20,"O2");

outtextxy(n*Xa1+Xo1-5,DEK*(n*(-Ya1)+Yo1-15),"A1");

outtextxy(n*Xa2+Xo1-5,DEK*(n*(-Ya2)+Yo1-15),"A2");

outtextxy(n*Xh+Xo1-5,DEK*(n*(-Yh)+Yo1-15),"H");

outtextxy(n*Xi+Xo1-5,DEK*(n*(-Yi)+Yo1-15),"I");

outtextxy(n*Xf+Xo1+5,DEK*(n*(-Yf)+Yo1-15),"F");

outtextxy(n*Xk+Xo1-3,DEK*(n*(-Yk)+Yo1+10),"K");

outtextxy(n*Xm+Xo1-15,DEK*(n*(-Ym)+Yo1),"M");

outtextxy(n*Xd+Xo1-15,DEK*(n*(-Yd)+Yo1+5),"D");

outtextxy(n*Xb+Xo1-3,DEK*(n*(-Yb)+Yo1+10),"B");

outtextxy(n*Xc+Xo1+10,DEK*(n*(-Yc)+Yo1-10),"C");

outtextxy(n*Xe+Xo1,DEK*(n*(-Ye)+Yo1-17),"E");

outtextxy(n*Xn+Xo1-3,DEK*(n*(-Yn)+Yo1+10),"N");

outtextxy(n*Xp+Xo1,DEK*(n*(-Yp)+Yo1-17),"P");

outtextxy(n*Xs+Xo1-7,DEK*(n*(-Ys)+Yo1-17),"S");

outtextxy(n*Xr+Xo1,DEK*(n*(-Yr)+Yo1-17),"R");

outtextxy(n*Xv+Xo1,DEK*(n*(-Yv)+Yo1-17),"V");

outtextxy(n*Xw+Xo1,DEK*(n*(-Yw)+Yo1-17),"W");

outtextxy(n*Xl+Xo1,DEK*(n*(-Yl)+Yo1-17),"L");

outtextxy(n*Xx+Xo1,DEK*(n*(-Yx)+Yo1-17),"X");

outtextxy(n*Xu+Xo1,DEK*(n*(-Yu)+Yo1-17),"U");

outtextxy(n*Xj+Xo1,DEK*(n*(-Yj)+Yo1-17),"J");

outtextxy(n*Xy+Xo1,DEK*(n*(-Yy)+Yo1-17),"Y");

return;

}

void stoyka(float X, float Y)

{

setlinestyle(0,0,3);

setfillstyle(1,3);

setcolor(4);

line(X,DEK*Y,X+5,DEK*Y+10);

line(X,DEK*Y,X-5,DEK*Y+10);

line(X-10,DEK*Y+10,X+10,DEK*Y+10);

setlinestyle(0,0,1);

//fillellipse(X,DEK*Y,R_C,R_C);

line(X-5,DEK*Y+10,X-9,DEK*Y+14);

line(X,DEK*Y+10,X-4,DEK*Y+14);

line(X+5,DEK*Y+10,X+1,DEK*Y+14);

line(X+10,DEK*Y+10,X+6,DEK*Y+14);

return;

}

void polzushka(float X, float Y, float fi)

{

setlinestyle(0,0,3);

setfillstyle(1,3);

setcolor(1);

line(X+15*cos((fi+30)*RAD),DEK*(Y+15*sin((fi+30)*RAD)),X+15*cos((fi+150)*RAD),DEK*(Y+15*sin((fi+150)*RAD)));

line(X+15*cos((fi+210)*RAD),DEK*(Y+15*sin((fi+210)*RAD)),X+15*cos((fi+330)*RAD),DEK*(Y+15*sin((fi+330)*RAD)));

line(X+15*cos((fi+30)*RAD),DEK*(Y+15*sin((fi+30)*RAD)),X+15*cos((fi+330)*RAD),DEK*(Y+15*sin((fi+330)*RAD)));

line(X+15*cos((fi+210)*RAD),DEK*(Y+15*sin((fi+210)*RAD)),X+15*cos((fi+150)*RAD),DEK*(Y+15*sin((fi+150)*RAD)));

setlinestyle(0,0,1);

//fillellipse(X,DEK*Y,R_C,R_C);

return;

}

void okno(float x1,float y1,float x2,float y2)

{

setfillstyle(1,7);

setlinestyle(0,1,1);

bar(x1+2,y1+2,x2-2,y2-2);

setcolor(15);

line(x1,y1,x2,y1);

line(x1,y1,x1,y2);

line(x1+1,y1+1,x1+1,y2-1);

line(x1+1,y1+1,x2-1,y1+1);

 

setcolor(8);

line(x2-1,y1+1,x2-1,y2-1);

line(x1+1,y2-1,x2-1,y2-1);

setcolor(0);

line(x1,y2,x2,y2);

line(x2,y1,x2,y2);

return;

}

void ramka(float x1,float y1,float x2,float y2)

{

setlinestyle(0,1,1);

setcolor(15);

line(x1,y1,x2,y1);

line(x1,y1,x1,y2);

line(x1+1,y1+1,x1+1,y2-1);

line(x1+1,y1+1,x2-1,y1+1);

 

setcolor(8);

line(x2-1,y1+1,x2-1,y2-1);

line(x1+1,y2-1,x2-1,y2-1);

setcolor(0);

line(x1,y2,x2,y2);

line(x2,y1,x2,y2);

return;

}

void help()

{

char text[]="Машина 131 ряда";

int key;

setfillstyle(1,8);

bar(0,0,640,350);

okno(140,50,500,300);

setcolor(1);

outtextxy(150,60,text);

do

{

key=bioskey(1);

if(key==0x11b) break;

if(key!=0) {key=0;getch();}

}

while(key!=0x11b);

return;

}

void grafiki()

{

 int key,x_x=0,fi,t=1;

 setgraphmode(2);

 setfillstyle(1,8);

 bar(0,0,640,480);

 okno(X-280,DEK*(Y-200),X+235,DEK*(Y+450));

 osi(45,430,475,400,1);

 setcolor(14);

 outtextxy(640,20,"Вывод графика:");

 outtextxy(640,450,"<ESCAPE>-Выход");

 grafik(1);

 do

 {

 key=bioskey(1);

 if(key!=0 && x_x==0) {x_x=1;getch();}

 if(key==0x4b00 && t>1) {t--;getch();}

 if(key==0x4d00 && t<19) {t++;getch();}

 if(key!=0) grafik(t);

 if(key==0x11b) break;

 if(key!=0) {key=0;getch();}

 if(fi>=360) fi=0;

 }

 while(1==1);

 getch();

 setgraphmode(1);

 return;

}

void osi(float x, float y, float l_x, float l_y, int color)

{

 int i;

 char buffer [80];

 setcolor(color);

 line(x,y,x+l_x,y);

 line(x,y,x,y-l_y);

 line(x,y-l_y,x-2,y-l_y+10);

 line(x,y-l_y,x+2,y-l_y+10);

 line(x+l_x,y,x+l_x-10,y+2);

 line(x+l_x,y,x+l_x-10,y-2);

 for(i=10;i<=360;i+=10)

 {

setcolor(6);

line(x+i*1.2,y-l_y+40,x+i*1.2,y+1);

line(x-1,y-i,x+l_x-45,y-i);

setcolor(0);

sprintf(buffer,"%d",i);

settextstyle(0,0,0);

settextjustify(2,1);

outtextxy(x-2,y-i+1,buffer);

settextstyle(0,1,0);

settextjustify(1,2);

outtextxy(x+i*1.2,y+3,buffer);

 }

settextstyle(0,0,0);

settextjustify(2,1);

return;

}

void grafik(int sign)

{

 float i;

 okno(X-280,DEK*(Y-200),X+235,DEK*(Y+450));

 osi(45,430,475,400,1);

 if(sign==1)outtextxy(44,45,"fi2");

 if(sign==2)outtextxy(44,45,"fi3");

 if(sign==3)outtextxy(44,45,"fi4");

 if(sign==4)outtextxy(44,45,"fi5");

 if(sign==5)outtextxy(44,45,"fi6");

 if(sign==6)outtextxy(44,45,"fi7");

 if(sign==7)outtextxy(44,45,"fi8");

 if(sign==8)outtextxy(44,45,"fi9");

 if(sign==9)outtextxy(44,45,"fi10");

 if(sign==10)outtextxy(44,45,"fi11");

 if(sign==11)outtextxy(44,45,"fi12");

 if(sign==12)outtextxy(44,45,"fi13");

 if(sign==13)outtextxy(44,45,"fi14");

 if(sign==14)outtextxy(44,45,"fi15");

 if(sign==15)outtextxy(44,45,"fi16");

 if(sign==16)outtextxy(44,45,"fi17");

 if(sign==17)outtextxy(44,45,"fi18");

 if(sign==18)outtextxy(44,45,"fi19");

 if(sign==19)outtextxy(44,45,"fi20");

 outtextxy(510,440,"fi");

 for(i=0;i<=360;i++)

 {

raschet(i);

if(sign==1)putpixel(45+i*1.2,430-fi2,0);

if(sign==2)putpixel(45+i*1.2,430-fi3,0);

if(sign==3)putpixel(45+i*1.2,430-fi4,0);

if(sign==4)putpixel(45+i*1.2,430-fi5,0);

if(sign==5)putpixel(45+i*1.2,430-fi6,0);

if(sign==6)putpixel(45+i*1.2,430-fi7,0);

if(sign==7)putpixel(45+i*1.2,430-fi8,0);

if(sign==8)putpixel(45+i*1.2,430-fi9,0);

if(sign==9)putpixel(45+i*1.2,430-fi10,0);

if(sign==10)putpixel(45+i*1.2,430-fi11,0);

if(sign==11)putpixel(45+i*1.2,430-fi12,0);

if(sign==12)putpixel(45+i*1.2,430-fi13,0);

if(sign==13)putpixel(45+i*1.2,430-fi14,0);

if(sign==14)putpixel(45+i*1.2,430-fi15,0);

if(sign==15)putpixel(45+i*1.2,430-fi16,0);

if(sign==16)putpixel(45+i*1.2,430-fi17,0);

if(sign==17)putpixel(45+i*1.2,430-fi18,0);

if(sign==18)putpixel(45+i*1.2,430-fi19,0);

if(sign==19)putpixel(45+i*1.2,430-fi20,0);

 }

 return;

}

 

Дата: 2019-05-28, просмотров: 173.