SlideShare a Scribd company logo
METAPOST by Hooman Mesgary
SCALING
Same as PostScript
1 unit = 1/72 inch
Other units
 bp: Big Point
 pt: Printer’s Point
 in: Inches
 cm: Centimeters
 mm: Milimeters
COMMANDS
drawdot
 drawdot (10,2)
 drawdot origin
 drawdot (2cm, 13mm)
draw
 draw (0,0)—(0,1)
pickup
 pickup pencircle scaled 4pt
VARIABLES
u = 1cm;
drawdot (2u, 3u);
z0 = (2u, 3u);
z1 = (3u, 2u);
draw z0--z1;
LOOP
u = 1mm;
for i=0 upto 4:
drawdot (i*u,u);
endfor
PROGRAM
beginfig(1);
draw (1cm,0)--(0,1cm);
endfig;
end
CURVES
z0 = (0,0);
z1 = (60,40);
z2 = (40,90);
z3 = (10,70);
z4 = (30,50);
draw z0..z1..z2..z3..z4
draw z0..z1..z2..z3--z4--cycle
draw z0..z1..z2..z3..z4..cycle
DIRECTION
draw z0..z1..z2..z3..z4
draw z0..z1{up}..z2{left}..z3..z4
..{dir 60}(10,0){up}..
CONT.
beginfig(1)
for a=0 upto 9:
draw (0,0){dir 45}..{dir -10a}(6cm,0);
endfor
endfig;
beginfig(2)
for a=0 upto 9:
draw (0,0){dir 45}..{dir 10a}(6cm,0);
endfor
endfig;
INFELCTION
draw z0{up}..z1{right}..z2{down}
draw z0{up}...z1{right}...z2{down}
TENTION
draw z0..z1..z2..z3
draw z0..z1..tension 1.3..z2..z3
draw z0..z1..tension 1.3 and 1..z2..z3
CURL
draw z0{curl c}..z1..{curl c}z2
EQUATION
a+b=3; 2a=b+3;
a=2
b=1
a+b=2a-b=3
ASSIGNMENT
a=a+1
a:=a+1
EQU. & ASSIGN.
z1=-z2=(.2in,0);
x3=-x6=.3in;
x3+y3=x6+y6=1.1in;
z1=(.2in,0); z2=(-.2in,0);
z3=(.3in,.8in); z6=(-.3in,1.4in);
SOLVING
beginfig(13);
z1=-z2=(.2in,0); x3=-x6=.3in;
x3+y3=x6+y6=1.1in;
z4=1/3[z3,z6]; z5=2/3[z3,z6];
z20=whatever[z1,z3]=whatever[z2,z4];
z30=whatever[z1,z4]=whatever[z2,z5];
z40=whatever[z1,z5]=whatever[z2,z6];
draw z1--z20--z2--z30--z1--z40--z2;
pickup pencircle scaled 1pt;
draw z1--z2; draw z3--z6;
endfig;
TRANSFORM
p transformed T
( 𝑝𝑥, 𝑝𝑦) ( 𝑡𝑥, 𝑡𝑦, 𝑡𝑥𝑥, 𝑡𝑥𝑦, 𝑡𝑦𝑥, 𝑡𝑦𝑦)
( 𝑡𝑥 + 𝑡𝑥𝑥𝑝𝑥 + 𝑡𝑥𝑦𝑝𝑦, 𝑡𝑦 + 𝑡𝑦𝑥𝑝𝑥 + 𝑡𝑦𝑦𝑝𝑦)
MORE TRANSFORM
transform T;
T = identity xscaled -1 rotated 90 shifted (1,1);
reflectedabout( 𝑝, 𝑞)
rotatedaround( 𝑝, 𝜃)
𝑞𝑞 = 𝑝 transformed inverse 𝑇
FINDING TRANSFORMS
(0,1) transformed T’ = (3,4);
(1,1) transformed T’ = (7,1);
(1,0) transformed T’ = (4,-3);
COLORS
black, white, red, green, blue
(0,0,0) (1,1,1)
(.4,.4,.4) = 0.4white
OPERAND
- * /
**
+ -
++
+-+
sqrt
CONT.
and
or
z1 dotprod z2 = x1*x2 + y1*y2
length “abcde”
substring(2,4) of “abcde” = “cd”
abs
round
floor
ceiling
ORDERS
-1[a,b] = -b
(-1)[a,b] = 2a-b
sqrt 2/3
sqrt (1+1)/3
LABELS
beginfig(17);
a=.7in; b=.5in;
z0=(0,0);
z1=-z3=(a,0);
z2=-z4=(0,b);
draw z1..z2..z3..z4..cycle;
draw z1--z0--z2;
label.top("a", .5[z0,z1]);
label.lft("b", .5[z0,z2]);
dotlabel.bot("(0,0)", z0);
endfig;
CONT.
⟨label suffix⟩ → ⟨empty⟩ | lft | rt | top |
bot | ulft | urt | llft | lrt
label.lrt(btex $sqrt x$ etex, (3,sqrt 3)*u)
USING TEX
beginfig(18);
numeric u;
u = 1cm;
draw (0,2u)--(0,0)--(4u,0);
pickup pencircle scaled 1pt;
draw (0,0){up}
for i=1 upto 8: ..(i/2,sqrt(i/2))*u endfor;
label.lrt(btex $sqrt x$ etex, (3,sqrt 3)*u);
label.bot(btex $x$ etex, (2u,0));
label.lft(btex $y$ etex, (0,u));
endfig;
CONTINUES DRAWING
beginfig(19);
numeric ux, uy;
120ux=1.2in; 4uy=2.4in;
draw (0,4uy)--(0,0)--(120ux,0);
pickup pencircle scaled 1pt;
draw (0,uy){right}
for ix=1 upto 8:
..(15ix*ux, uy*2/(1+cosd 15ix))
endfor;
label.bot(btex $x$ axis etex,
(60ux,0));
label.lft(btex $y$ axis etex
rotated 90, (0,2uy));
label.lft(
btex $displaystyle
y={2over1+cos x}$ etex,
(120ux, 4uy));
endfig;
RESULT
FILL
beginfig(21);
path p;
p = (-1cm,0)..(0,-1cm)..(1cm,0);
fill p{up}..(0,0){-1,-2}..{up}cycle;
draw p..(0,1cm)..cycle;
endfig;
FILL WITH COLOR
PATH WORKING
a intersectiontimes b
point t of p
p1 cutbefore p2
p1 cutafter p2
DASHED LINES
ARROWS
drawarrow z1..z2
drawarrow reverse (z1..z2)
drawdblarrow z1..z2
CLIPPING
CONDITION
if 𝑒1: ... elseif 𝑒2: ... else: ... fi
def middlepoint(expr a) = if path a: (point
.5*length a of
else: .5(llcorner a + urcorner fi a) enddef;
LOOPS
for ⟨symbolic token⟩ = ⟨expression⟩ upto
⟨expression⟩ : ⟨loop text⟩ endfor
for ⟨symbolic token⟩ = ⟨expression⟩ downto
⟨expression⟩ : ⟨loop text⟩ endfor
for ⟨symbolic token⟩ = ⟨expression⟩ step
⟨expression⟩ until ⟨expression⟩ : ⟨loop text⟩
endfor
SAMPLE LOOP
for t=3.14, 2.78, (a,2a), "hello": show t; endfor
draw for p=(3,1),(6,2),(7,5),(4,6),(1,3): p-- endfor
cycle;
draw (3,1)--(6,2)--(7,5)--(4,6)--(1,3)--cycle;

More Related Content

TXT
Gp
PPT
Inversa lu
PDF
10CSL67 CG LAB PROGRAM 1
TXT
Regula falsi MATLAB Code
TXT
Newton's method for MATLAB Code
DOCX
Matlab code for Bisection Method
TXT
Langrange method for MATLAB Code
PDF
Efoom 2018
Gp
Inversa lu
10CSL67 CG LAB PROGRAM 1
Regula falsi MATLAB Code
Newton's method for MATLAB Code
Matlab code for Bisection Method
Langrange method for MATLAB Code
Efoom 2018

What's hot (16)

TXT
Matlab Code for Bisection methode
PDF
CRL 1.8 functions MrG 2011.0920 - sage
PDF
CRL 1.8 Functions
PDF
Trapezoidal log log
DOCX
Komputer Grafik
PPT
Darkonoid
TXT
Bisection methode alternate
PDF
Math 3-H6
PDF
Fractal Rendering in Developer C++ - 2012-11-06
PDF
MATHS SYMBOLS - ROOTS and THEIR PROPERTIES
PPTX
The Moore-Spiegel Oscillator
PDF
MATHS SYMBOLS - PROPERTIES of EXPONENTS
DOCX
matlab code for channel estimation for ofdm
PDF
Complex Integral
DOCX
RTF
Compte rendu com op touati
Matlab Code for Bisection methode
CRL 1.8 functions MrG 2011.0920 - sage
CRL 1.8 Functions
Trapezoidal log log
Komputer Grafik
Darkonoid
Bisection methode alternate
Math 3-H6
Fractal Rendering in Developer C++ - 2012-11-06
MATHS SYMBOLS - ROOTS and THEIR PROPERTIES
The Moore-Spiegel Oscillator
MATHS SYMBOLS - PROPERTIES of EXPONENTS
matlab code for channel estimation for ofdm
Complex Integral
Compte rendu com op touati
Ad

Viewers also liked (15)

PDF
Euro Opener: Poland - Greece
PPTX
Unidad 4 albadenis
PPTX
Г. Кляўко
PDF
Taw10 1 00 - 0 - introdução
PPTX
Tribunal de cuenta sfinal
PPTX
Our engagement
PDF
Faith, Hope and Smuda
PDF
ABAP Taw10 1 00 - 0 - introdução
DOCX
Story board akmal
PDF
Masseria Gloria Aria of Puglia
PPTX
The effect of project based learning on writing procedure text dewinta susant...
PPTX
Language Choice & Language Learning
PDF
ASHSCREEN
Euro Opener: Poland - Greece
Unidad 4 albadenis
Г. Кляўко
Taw10 1 00 - 0 - introdução
Tribunal de cuenta sfinal
Our engagement
Faith, Hope and Smuda
ABAP Taw10 1 00 - 0 - introdução
Story board akmal
Masseria Gloria Aria of Puglia
The effect of project based learning on writing procedure text dewinta susant...
Language Choice & Language Learning
ASHSCREEN
Ad

Similar to متاپست (MetaPost) (20)

DOC
Beaker.bas
PPTX
UNIT-1Computer Aided Engineering Graphics
PDF
OpenSCAD Tutorial
PPTX
CAEG IT-B.pptx
PDF
Symbolic Computations in Conformal Geometric Algebra for Three Dimensional O...
PDF
Open GL 09 scan conversion
PDF
TikZ for economists
PPT
DOCX
Cg my own programs
PDF
Matlab assignment
PPTX
Lecture 13 Projection of Points.pptx
DOCX
Graphics practical lab manual
PDF
Open GL T0074 56 sm4
PDF
2 d.2020
DOCX
Computer Graphics Lab File C Programs
DOCX
M210 Songyue.pages__MACOSX._M210 Songyue.pagesM210-S16-.docx
PPT
CS 354 Bezier Curves
PPTX
3D Geometry Unleashed: Building with Splines and Surfaces
PPTX
Using parallel programming to improve performance of image processing
Beaker.bas
UNIT-1Computer Aided Engineering Graphics
OpenSCAD Tutorial
CAEG IT-B.pptx
Symbolic Computations in Conformal Geometric Algebra for Three Dimensional O...
Open GL 09 scan conversion
TikZ for economists
Cg my own programs
Matlab assignment
Lecture 13 Projection of Points.pptx
Graphics practical lab manual
Open GL T0074 56 sm4
2 d.2020
Computer Graphics Lab File C Programs
M210 Songyue.pages__MACOSX._M210 Songyue.pagesM210-S16-.docx
CS 354 Bezier Curves
3D Geometry Unleashed: Building with Splines and Surfaces
Using parallel programming to improve performance of image processing

More from جشنوارهٔ روز آزادی نرم‌افزار تهران (20)

PDF
چرا اکثر ابررایانه‌ها از گنو/لینوکس استفاده می‌کنند؟
PDF
حرکت شتابدار به سوی دنیای Embedded System و نقش نرم‌افزارهای آزاد بر آن
PDF
خلاقیت و دانش آزاد؛ ظهور طبقه‌ای جدید در جامعه
PDF
برنامهٔ آموزشی ویکی‌پدیا
PDF
چه هنگام نرم‌افزار آزاد به دام غیرآزاد می‌افتد؟
PDF
با سوزان آشنا شوید! (معرفی نرم افزار بلندر)
PDF
آزادی و محرمانگی در رایانش همراه
PDF
سیاست‌های کمتر شناخته‌شده ویکی‌پدیا
PDF
معرفی بنیاد ویکی‌مدیا و پروژه‌هایش (به جز ویکی‌پدیا)
PDF
چرایی تغییر دیدگاه شرکت های انحصاری نسبت به نرم افزار آزاد
PDF
معرفی و ساخت یک فریم‌ورک شخصی به کمک لاراول
PDF
چگونگی ارسال packet در شبکه و مروری بر Wireshark
PDF
چگونگی ارسال packet در شبکه و مروری بر Wireshark
PDF
کار با اوپن‌استریت‌مپ (OSM) از مبتدی تا پیشرفته
PDF
داده‌کاوی و زبان برنامه‌نویسی R
PDF
یادگیری هک کلاه سفید و تست نفوذ به شبکه
PDF
کارگاه امنیت با عنوان Stop Disabling SElinux
چرا اکثر ابررایانه‌ها از گنو/لینوکس استفاده می‌کنند؟
حرکت شتابدار به سوی دنیای Embedded System و نقش نرم‌افزارهای آزاد بر آن
خلاقیت و دانش آزاد؛ ظهور طبقه‌ای جدید در جامعه
برنامهٔ آموزشی ویکی‌پدیا
چه هنگام نرم‌افزار آزاد به دام غیرآزاد می‌افتد؟
با سوزان آشنا شوید! (معرفی نرم افزار بلندر)
آزادی و محرمانگی در رایانش همراه
سیاست‌های کمتر شناخته‌شده ویکی‌پدیا
معرفی بنیاد ویکی‌مدیا و پروژه‌هایش (به جز ویکی‌پدیا)
چرایی تغییر دیدگاه شرکت های انحصاری نسبت به نرم افزار آزاد
معرفی و ساخت یک فریم‌ورک شخصی به کمک لاراول
چگونگی ارسال packet در شبکه و مروری بر Wireshark
چگونگی ارسال packet در شبکه و مروری بر Wireshark
کار با اوپن‌استریت‌مپ (OSM) از مبتدی تا پیشرفته
داده‌کاوی و زبان برنامه‌نویسی R
یادگیری هک کلاه سفید و تست نفوذ به شبکه
کارگاه امنیت با عنوان Stop Disabling SElinux

Recently uploaded (20)

PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PPT
Introduction Database Management System for Course Database
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PPTX
Introduction to Artificial Intelligence
PDF
System and Network Administraation Chapter 3
PDF
Understanding Forklifts - TECH EHS Solution
PPTX
Operating system designcfffgfgggggggvggggggggg
PPTX
Online Work Permit System for Fast Permit Processing
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
System and Network Administration Chapter 2
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
How to Migrate SBCGlobal Email to Yahoo Easily
How to Choose the Right IT Partner for Your Business in Malaysia
Introduction Database Management System for Course Database
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
2025 Textile ERP Trends: SAP, Odoo & Oracle
Introduction to Artificial Intelligence
System and Network Administraation Chapter 3
Understanding Forklifts - TECH EHS Solution
Operating system designcfffgfgggggggvggggggggg
Online Work Permit System for Fast Permit Processing
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
System and Network Administration Chapter 2
Upgrade and Innovation Strategies for SAP ERP Customers
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PTS Company Brochure 2025 (1).pdf.......
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Navsoft: AI-Powered Business Solutions & Custom Software Development

متاپست (MetaPost)