VietTUG.org - old forum - threads' archive

thread_id = 403, contains 403
id = 403, parent = 0, thread = 403, catid = 17, locked = 0, moved = 0,
userid = kyanh, ip = 222.252.246.135, time = 2005/11/19 (1132414926) ,
subject = ePiX, hits = 426, karma = 0+0-,
ePiX, a collection of batch-oriented utilities for *nix, creates mathematically accurate line figures, plots, and movies using easy-to-learn syntax. LaTeX and dvips comprise the typographical rendering engine, while ImageMagick is used to create bitmapped images and animations. The user interface resembles that of LaTeX itself: You prepare a short scene description in a text editor, then compile'' the input file into a picture. Default output formats are eepic (a plain text enhancement to the LaTeX picture environment), eps, pdf, png, and mng.
ePiX là công cụ vẽ hình rất mạnh, thích hợp cho những ai thích vẽ hình bằng `đầu', đặc biệt thích hợp cho người dùng *nix (ở Windows cũng có, nhưng phải cần thêm Python). Kết quả có thể nhúng trực tiếp vào LaTeX, hoặc xuất dang dạng EPS, PDF,...

Trang chủ:
http://math.holycross.edu/~ahwang/current/ePiX.html

Demo:
http://math.holycross.edu/~ahwang/epix/ … index.html

Tải về:
http://math.holycross.edu/~ahwang/curre … ownloading

Shot:
http://math.holycross.edu/~ahwang/epix/images/koch.png

Mã nguồn của ví dụ trên:
/* -*-ePiX-*- */
/* koch.xp -- April 02, 2003 */
#include "epix.h"
using namespace ePiX;

double len = 6.0;
const double ratio = 0.65;
const int N = 3;
const int COUNT = 5;

const int seed[] = {6, 4, 0, -1, 1, 0};
// Other examples to try (set COUNT = 4 for each)
// const int seed[] = {4, 8, 0, 1, 0, -1, -1, 0, 1, 0};
// const int seed[] = {6, 6, 0, 1, -1, -1, 1, 0};

int main()  {
  bounding_box(P(-6,-6), P(6, 6));
  picture(500, 500);
  unitlength("0.01in");
  begin();
  bold();
  for (int i=COUNT; i > 0; i--)  {
    rgb(0.75+0.125*i, 0.125*(i)*(4-i), 0.25-0.125*i);
    for (int j=0; j < N; ++j)
       fractal(polar(len, 2*j*M_PI/N), polar(len, 2*(j+1)*M_PI/N), i, seed);
        len *= ratio;
  }
  end();
}