Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <math.h>
- #define SPACE_SIZE 31
- #define INDENT 10
- struct space_point_str {
- int x;
- int y;
- char type;
- };
- struct square_point_srt {
- int x;
- int y;
- float fl_x;
- float fl_y;
- };
- int main()
- {
- int add = (SPACE_SIZE-1)/2; // величина смещения координат точек к центру
- int space_area = SPACE_SIZE*SPACE_SIZE;
- int square_size = (SPACE_SIZE - 2*INDENT);
- int square_area = ( (SPACE_SIZE - 2*INDENT)*(SPACE_SIZE - 2*INDENT) );
- float angle = 0;
- // Инициализация точек пространства
- struct space_point_str space_point[space_area];
- for(int i=0;i<space_area;i++) {
- space_point[i].x = (i%SPACE_SIZE)-add;
- space_point[i].y = (i/SPACE_SIZE)-add;
- space_point[i].type = ' ';
- }
- //Инициализация точек квадрата
- struct square_point_srt square_point[square_area];
- for(int i=0;i<square_area;i++) {
- square_point[i].x = (i%square_size)-add+INDENT;
- square_point[i].y = (i/square_size)-add+INDENT;
- square_point[i].fl_x = square_point[i].x;
- square_point[i].fl_y = square_point[i].y;
- }
- while (1) {
- ///// Отрисовка квадрата
- for(int i=0;i<space_area;i++) {
- for(int ii=0;ii<square_area;ii++) {
- if( (space_point[i].x == square_point[ii].x) && (space_point[i].y == square_point[ii].y) ) {
- space_point[i].type = '1';
- break;
- }
- else {
- space_point[i].type = ' ';
- }
- }
- if ( (i%SPACE_SIZE) == 0) {
- printf("\n");
- }
- printf("%c ",space_point[i].type);
- }
- ///// Пауза между циклами
- getch();
- ///// Поворот относительно центра квадрата
- system("cls");
- angle += 0.01; // Угол поворота
- for(int i=0;i<square_area;i++) {
- square_point[i].fl_x = ( square_point[i].fl_x*cos(angle) ) - ( square_point[i].fl_y*sin(angle) );
- square_point[i].fl_y = ( square_point[i].fl_y*cos(angle) ) + ( square_point[i].fl_x*sin(angle) );
- square_point[i].x = (int)round(square_point[i].fl_x);
- square_point[i].y = (int)round(square_point[i].fl_y);
- }
- }
- } // конец мейн функции
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement