⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 animate.c

📁 基于java的3d开发库。对坐java3d的朋友有很大的帮助。
💻 C
字号:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void
generar_archivo(int i)
{
    double a = (double)i;

    a = a * 3.14192 / 180;

    FILE *fd = fopen("/tmp/a.ray", "wt");

    fprintf(fd, "eye 2.1 1.3 1.7\n");
    fprintf(fd, "up 0 0 1\n");
    fprintf(fd, "lookat 0 0 0\n");
    fprintf(fd, "fov 45\n");
//    fprintf(fd, "background 0.078 0.361 0.753\n");
    fprintf(fd, "backgroundcubemap\n");
    fprintf(fd, "rotation 0 %0.2f 0\n", a);
    fprintf(fd, "surface 1 0.75 0.33 0.15 1.0 0.0 1 0 0 1\n");
    fprintf(fd, "sphere 0 0 -100 99.5\n");
    fprintf(fd, "surface 0.5 0.45 0.35 0.3 1.0 1 3 0.5 0.0 1.0\n");
//    fprintf(fd, "cube 0 0 0 1\n");
    fprintf(fd, "cylinder 0 0 0 0.5 0 1\n");
    fprintf(fd, "light 1 1 1 ambient\n");
    fprintf(fd, "light 0.4 0.4 0.4 point 4 3 2\n");
    fprintf(fd, "light 0.4 0.4 0.4 point 1 -4 4\n");
    fprintf(fd, "light 0.4 0.4 0.4 point -3 1 5\n");

    fclose(fd);
}

int
main()
{
    int i = 0;
    char comando[1024];

    for ( i = 0; i < 360; i+= 5 ) {
        generar_archivo(i);
        system("time java -Xms800m -Xmx800m -classpath ./classes:../../lib/vitral.jar:../../lib/vitral_transition.jar RaytracerSimple /tmp/a.ray");
        sprintf(comando, "mv salida.ppm salida%03d.ppm", i);
        system(comando);
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -