ไปลงจาก ports ใน category graphics ครับ ชื่อก็ epix ไม่ต้องกังวลเรื่องการใช้งาน เขามีคู่มือมาให้ในรูปแฟ้ม .pdf อ่านกันสบายๆ
Riemann |
การใช้งานก็ง่าย
๑) เขียนแฟ้มสำหรับเขียนกราฟขึ้นมา ซึ่งไวยากรณ์คือ ภาษา C/C++
๒) เรียก script ที่เขาทำมาให้เพื่อมา process แฟ้มที่เขียนขึ้น
๓) เอากราฟไปใช้งาน
ตัวอย่างที่แสดงให้ดูนั้น แฟ้มในข้อ ๑) เป็นดังนี้
/* -*-ePiX-*- */
#include "epix.h"
using namespace ePiX;
P F(double t, double r, double theta)
{
return P(r*r*Cos(2*theta),
r*r*Cos(t)*Sin(2*theta) + r*Sin(t)*Sin(theta),
r*Cos(theta));
}
domain R(P(0,0,0), P(1, 1.5, 1), mesh(24, 8, 32), mesh(24, 40, 80));
int main(int argc, char* argv[])
{
if (argc == 3)
{
char* arg;
double temp1, temp2;
temp1=strtod(argv[1], &arg);
temp2=strtod(argv[2], &arg);
tix()=temp1/temp2;
}
domain R1(R.slice1(tix()));
picture(P(-4,-4),P(4,4), "5x5in");
begin();
revolutions();
grid(1,1);
const P ctr(3.25,-3.25); // "clock" center
bold();
circle(ctr, 0.5); // clock face
line(ctr, ctr+polar(0.4, tix())); // hands
label(ctr+polar(0.6, tix()), "$y$");
line(ctr, ctr+polar(0.4, tix()+0.25));
label(ctr+polar(0.6, tix()+0.25), "$w$");
viewpoint(4,5,3);
camera.range(20);
line(P(0,0,0), P(3,0,0));
line(P(0,0,0), P(0,3,0));
line(P(0,0,0), P(0,0,2));
plain(Red());
plot(F, R1.resize3(0, 0.5));
blue();
plot(F, R1.resize3(0.5, 1));
bold(Magenta());
plot(F, R.slice3(0));
plot(F, R.slice3(0.5));
black();
masklabel(P(3,0,0), "$x$");
masklabel(P(0,3,0), "$y$");
masklabel(P(0,0,2), P(-4,0), "$z=\\textrm{Re}\\,\\sqrt{x+iy}$", tr);
end();
}
แฟ้มนี้ชื่อ riemann.flx ซึ่งเมื่อ process โดย script ที่ชื่อ flix แล้ว ก็ได้ผลที่แสดงมาให้ดูนั่นแหละ
% flix --gif riemann.flx
ผลลัพธ์ที่ได้ สามารถนำไปใช้งานร่วมกับ latex ได้เลย ในการผลิตเอกสารต่างๆ ที่ต้องการรูป ที่ยุ่งๆ
% epix riemann.flx
เราจะได้แฟ้ม riemann.eepic ซึ่งมาสามารถนำไปรวมในแฟ้มที่เตรียมโดย LaTeX ได้ทันที
script ที่ให้มา เขาว่ามีอยู่ ๔ แต่เห็นใช้งานจริงตอนนี้เพียง epix, flix และ elaps ซึ่งหากเราใช้กับแฟ้มตัวอย่าง ข้างบนนั้น ยกเว้น flix ที่ให้ผลลัพธ์มาเลยแล้ว ก็จะเป็นดั่งนี้
% epix riemann.flx
% elaps riemann
คำสั่งสุดท้าย จะให้แฟ้ม riemann.eps ออกมาเป็นผลลัพธ์
ไม่ต้องตกอกตกใจอะไรกับสาระในแฟ้ม ขอให้ท่านลงโปรแกรม แล้วอ่านข้อความท้ายๆ ทำตามนั้น เวลาจะเขียนแฟ้ม ก็ให้กระทำผ่าน emacs ท่านก็จะได้ template มา พร้อมที่จะเติมไปทีละคำสั่ง ทีละคำสั่ง
คำสั่งที่ท่านต้องเติม ก็อยู่ระหว่าง begin(); และ end(); นั่นหละ ค่อยๆอ่านจาก เอกสารที่เขาให้มา แล้วดูแฟ้มตัวอย่างจาก sample files ที่เขาให้มา ไม่นานนักก็คงบรรลุธรรม
พาดพิงถึง LaTeX แล้วคิดถึงเจ้าปลิวแฮะ
No comments:
Post a Comment