Archived
49 lines
1.1 KiB
C
Executable File
49 lines
1.1 KiB
C
Executable File
/*
|
|
26.Аналогично заданию 25, но в файл «singood.txt» записать экранные координаты (x,y).
|
|
Для этого следует учесть:
|
|
* масштабирование по оси ОХ = 50, по оси ОУ = 40
|
|
* начало экранных координат установлено в точке (320, 240)
|
|
*/
|
|
|
|
#include <stdio.h>
|
|
#include <math.h>
|
|
|
|
#define M_PI 3.14159265358979323846
|
|
|
|
void writeXY()
|
|
{
|
|
FILE *file = fopen("singood.txt", "w");
|
|
if (file == NULL)
|
|
{
|
|
printf("Error open\n");
|
|
return;
|
|
}
|
|
|
|
double a = 0;
|
|
double b = 2 * M_PI;
|
|
double h = 0.1;
|
|
|
|
double scale_x = 50;
|
|
double scale_y = 40;
|
|
double offset_x = 320;
|
|
double offset_y = 240;
|
|
|
|
for (double x = a; x <= b; x += h)
|
|
{
|
|
double y = sin(x);
|
|
fprintf(file, "%f %f\n", x, y);
|
|
|
|
double x_screen = x * scale_x + offset_x;
|
|
double y_screen = -y * scale_y + offset_y;
|
|
fprintf(file, "%f %f\n", x_screen, y_screen);
|
|
}
|
|
|
|
fclose(file);
|
|
}
|
|
|
|
int main()
|
|
{
|
|
writeXY();
|
|
return 0;
|
|
}
|