|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
23.06.2009, 21:17 | #1 |
Регистрация: 18.11.2008
Сообщений: 9
|
логарифмическая спираль с++
Задание на картинке, есть аналогичный код, который строит УЛИТКУ ПАСКАЛЯ. подскажите как переделать его.
#include <stdio.h> #include <stdlib.h> #include <conio.h> #include <math.h> #include <graphics.h> #include <dos.h> int main(){ int y0,x0,ymax,xmax; int i,gd = DETECT, gm, err; double x,y,t,dt,tmax,l,d; char c; initgraph(&gd, &gm,"D:\\BORLANDC\\BGI"); err = graphresult(); if (err != grOk){ printf("Не могу найти EGAVGA.BGI: %s\n", grapherrormsg(err)); printf("нажми клавишу:"); getch(); exit(1); } printf ("Введите l>d =>"); scanf("%lg %lg",&l, &d); cleardevice(); printf("\n q - выход "); getchar(); xmax=getmaxx(); ymax=getmaxy(); x0=getmaxx()/2; y0=getmaxy()/2; setcolor(RED); line(2,y0,xmax,y0); //ось абцисс setcolor(GREEN); line(x0,2,x0,ymax); //ось ординат tmax=2*M_PI; dt=M_PI/24; while(1){ //пока не нажмем q setcolor(CYAN); circle(x0,y0,d); moveto(x0+l+d,y0); for(t=0;t<tmax;t+=dt){ x=d*cos(t)*cos(t)+l*cos(t)+x0; y=d*cos(t)*sin(t)+l*sin(t)+y0; setcolor(BLUE); lineto(x,y); } if(kbhit()) if((c=getch())=='q') break; } closegraph(); return 0; }//------------------------------------------- |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Задача "Спираль" | Witaliy | Паскаль, Turbo Pascal, PascalABC.NET | 6 | 01.05.2008 21:09 |
Логарифмическая функция | Vitul'k | Помощь студентам | 5 | 04.02.2008 20:20 |
как написать программу в Graphе,чтобы он рисовал спираль архимеда | Pafnutiya | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 07.10.2007 20:40 |