📄 makefunktion.cc
字号:
#include <stdio.h>#include <stdlib.h>#include <math.h>#include <string.h>#include <time.h>#include "vektor.h"#include "matrix.h"DMatrix Rot (3, 3, NULL);int x_Punkte, y_Punkte;DVektor Punkt (3, 0, NULL);double Winkel, Jitter, xJitter, yJitter, x_Schritt, y_Schritt, x_Anfang, y_Anfang, x_Ende, y_Ende;int x, y, Index, Anzahl, Dim;char Name[30];FILE *File;time_t timer;main (int argc, char *argv[]){ if (argc < 2) { printf ("x-,y-Punktanzahl,x-,y-Anfang,x-,y-Ende,um z,Jitter in Prozent,Grad_x,Parameter_x,Grad_y,Parameter_y,Name\n"); exit (0); } srand ((unsigned) time (&timer)); sscanf (argv[1], "%d", &x_Punkte); sscanf (argv[2], "%d", &y_Punkte); sscanf (argv[3], "%lf", &x_Anfang); sscanf (argv[4], "%lf", &y_Anfang); sscanf (argv[5], "%lf", &x_Ende); sscanf (argv[6], "%lf", &y_Ende); sscanf (argv[7], "%lf", &Winkel); sscanf (argv[8], "%lf", &Jitter); sscanf (argv[9], "%d", &x); DVektor funktion_x (x + 1, 0, NULL); Index = 10; for (y = 0; y <= x; y++) sscanf (argv[Index++], "%lf", &(funktion_x[y])); sscanf (argv[Index++], "%d", &x); DVektor funktion_y (x + 1, 0, NULL); for (y = 0; y <= x; y++) sscanf (argv[Index++], "%lf", &(funktion_y[y])); sscanf (argv[Index], "%s", Name); Rot = d3_zRot (Winkel); Jitter = Jitter / 100; x_Schritt = (x_Ende - x_Anfang) / (x_Punkte - 1); y_Schritt = (y_Ende - y_Anfang) / (y_Punkte - 1); xJitter = Jitter * x_Schritt; yJitter = Jitter * y_Schritt; File = fopen (Name, "w"); fprintf (File, "%d %d %d\n", x_Punkte * y_Punkte, 2, 1); fprintf (File, "x y z\n"); for (x = 0; x < x_Punkte; x++) { for (y = 0; y < y_Punkte; y++) { Punkt[0] = x_Anfang + x * x_Schritt; Punkt[0] = Punkt[0] - (xJitter / 2.0) + xJitter * (((double) rand ()) / (double) RAND_MAX); Punkt[1] = y_Anfang + y * y_Schritt; Punkt[1] = Punkt[1] - (yJitter / 2.0) + yJitter * (((double) rand ()) / (double) RAND_MAX); Punkt[2] = funktion_x (Punkt[0]) + funktion_y (Punkt[1]); Punkt = Rot * Punkt; fprintf (File, "%f %f %f\n", Punkt[0], Punkt[1], Punkt[2]); } } fclose (File);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -