Кардиоида ОТЧЕТ. Отчет о практическом занятии Кардиоида. по дисциплине Компьютерная графика (2 семестр)
Скачать 95.42 Kb.
|
Отчет о практическом занятии «Кардиоида». по дисциплине Компьютерная графика (2 семестр). Студент Журин Д.А. группа _С20_ № по списку _4_ Адрес e-mail: denz2001@mail.ru Работа выполнена 18. 06. 2020 г. История названия. Кардиоида – плоская кривая, описываемая произвольной точкой М окружности радиуса r, катящейся без проскальзывания извне по другой, неподвижной, окружности того же радиуса. Получила своё название из-за схожести своих очертаний со стилизованным изображением сердца. Название кардиоиды происходит от греческих слов χαρδια – сердце, и ειδος – вид, вместе – сердцевидная. Уравнение и её характеристические свойства. Кардиоида – частный случай эпициклоиды, одна из конхоид и улиток Паскаля. В прямоугольной декартовой системе координат кардиоиду можно задать уравнением: где r – радиус окружности. Уравнение кардиоиды в полярных координатах (с полюсом на неподвижной окружности) имеет вид: При изменении параметра а изменяется неподвижная окружность, тем самым изменяется кардиоида. Чем больше радиус неподвижной окружности, тем больше кардиоида и наоборот. Графики Excel. Параметры уравнений, при которых заданная функция может переродиться в функции других видов. Кардиоида не перерождаеется в функции других видов, потому что при изменении радиуса неподвижной окружности изменяется размер кардиоиды. Математическая постановка задачи. – уравнения для вычисления координат точки кривой. t – независимый параметр выраженный в радианах меняющийся в пределах от 0 до 2*π. a – радиус неподвижной окружности, определяет размер кривой изменяется от 0 до бесконечности. Алгоритм решения. Текст программы. //ввод вывод на консоли #include //математика #include //руссий язык #include "Windows.h" //графика #include //считыване времени компьтера #include int main() { //руссий язык SetConsoleCP(1251); SetConsoleOutputCP(1251); //создание картины initwindow(1300,600); //характеристики заливки setfillstyle(1,15); //заливка белым цветом floodfill(10,10,15); //инициализация переменных float x=-10.0,y=-10.0,t,h,a=1.0,l; char buffer[100]; //настройка параметров текста интерфейса setbkcolor(15); settextstyle(10,0,3); setcolor(0); //построение элементов интерфейса //------------------- line(2,2,250,2); line(2,2,2,82); line(250,2,250,82); line(2,82,250,82); //------------------- line(2,82,2,120); line(250,82,250,120); line(2,120,250,120); //------------------- line(260,12,1288,12); line(260,588,1288,588); line(260,12,260,588); line(1288,12,1288,588); ////подсказка outtextxy(5,85,buffer); //цикл для пиксельного построения кривой for(t=0.0;t<=6.28;t+=0.01) { //вычисление координат x=(2*a*cos(t)-a*cos(2*t)); y=(2*a*sin(t)-a*sin(2*t)); //нанесение пикселя putpixel(100*x+650,-100*y+290,4); //результаты вычислений printf("x=%f y=%f t=%f\n",x,y,t); //координаты пикселя printf("x=%f y=%f t=%f\n",10*x+650,-10*y+350,t); } //задержка экрна интерфейса system("pause"); } Вывод. Среда разработки DevC++ позволяет строить различные кривые правильность которых подтвердилась исследованиями в программой для работы с электронными таблицами Excel . |