komentare k ps_graph
This commit is contained in:
parent
d0b5599c8f
commit
1fb0614af4
@ -109,6 +109,7 @@ static void generate_grid(FILE *file, const struct graph_range *range) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* popisky os */
|
||||||
set_font(file, FONT, FONT_SIZE_LABEL);
|
set_font(file, FONT, FONT_SIZE_LABEL);
|
||||||
generate_text_align(file, -HALF_GRAPH_SIZE + Y_LABEL_OFFSET_X, Y_LABEL_OFFSET_Y, ALIGN_RIGHT, "y");
|
generate_text_align(file, -HALF_GRAPH_SIZE + Y_LABEL_OFFSET_X, Y_LABEL_OFFSET_Y, ALIGN_RIGHT, "y");
|
||||||
generate_text_align(file, X_LABEL_OFFSET_X, -HALF_GRAPH_SIZE + X_LABEL_OFFSET_Y, ALIGN_CENTER, "x");
|
generate_text_align(file, X_LABEL_OFFSET_X, -HALF_GRAPH_SIZE + X_LABEL_OFFSET_Y, ALIGN_CENTER, "x");
|
||||||
@ -131,6 +132,7 @@ static void generate_function(FILE *file, const struct expr_node *node, const st
|
|||||||
|
|
||||||
x = range->xmin + (range->xmax - range->xmin) * (double)i / (double)FUNCTION_SEGMENTS;
|
x = range->xmin + (range->xmax - range->xmin) * (double)i / (double)FUNCTION_SEGMENTS;
|
||||||
|
|
||||||
|
/* funkce není definována */
|
||||||
if (node_eval(node, x, &y) != EVAL_OK) {
|
if (node_eval(node, x, &y) != EVAL_OK) {
|
||||||
first = 1;
|
first = 1;
|
||||||
continue;
|
continue;
|
||||||
@ -155,8 +157,10 @@ static void generate_function(FILE *file, const struct expr_node *node, const st
|
|||||||
void ps_generate_graph(FILE *file, const struct expr_node *node, const struct graph_range *range, const char *function) {
|
void ps_generate_graph(FILE *file, const struct expr_node *node, const struct graph_range *range, const char *function) {
|
||||||
char buf[TEMP_BUF_SIZE];
|
char buf[TEMP_BUF_SIZE];
|
||||||
|
|
||||||
|
/* posun na střed */
|
||||||
fprintf(file, "%d %d translate\n", GRAPH_CENTER_X, GRAPH_CENTER_Y);
|
fprintf(file, "%d %d translate\n", GRAPH_CENTER_X, GRAPH_CENTER_Y);
|
||||||
|
|
||||||
|
/* hlavička */
|
||||||
if (function) {
|
if (function) {
|
||||||
set_font(file, FONT, FONT_SIZE_HEADER);
|
set_font(file, FONT, FONT_SIZE_HEADER);
|
||||||
snprintf(buf, TEMP_BUF_SIZE, "y = %s", function);
|
snprintf(buf, TEMP_BUF_SIZE, "y = %s", function);
|
||||||
@ -165,6 +169,7 @@ void ps_generate_graph(FILE *file, const struct expr_node *node, const struct gr
|
|||||||
|
|
||||||
generate_grid(file, range);
|
generate_grid(file, range);
|
||||||
|
|
||||||
|
/* ořezová oblast pro graf */
|
||||||
fprintf(file,
|
fprintf(file,
|
||||||
"[] 0 setdash\n"
|
"[] 0 setdash\n"
|
||||||
"newpath\n"
|
"newpath\n"
|
||||||
@ -178,8 +183,10 @@ void ps_generate_graph(FILE *file, const struct expr_node *node, const struct gr
|
|||||||
-HALF_GRAPH_SIZE, -HALF_GRAPH_SIZE, GRAPH_SIZE, GRAPH_SIZE, -GRAPH_SIZE
|
-HALF_GRAPH_SIZE, -HALF_GRAPH_SIZE, GRAPH_SIZE, GRAPH_SIZE, -GRAPH_SIZE
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/* samotný graf */
|
||||||
generate_function(file, node, range);
|
generate_function(file, node, range);
|
||||||
|
|
||||||
|
/* rámeček */
|
||||||
fprintf(file,
|
fprintf(file,
|
||||||
"grestore\n"
|
"grestore\n"
|
||||||
"2 setlinewidth\n"
|
"2 setlinewidth\n"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user