กราฟ 2 มิติแบบ Implicit และ Parametric

บางครั้งเรามีความสัมพันธ์ระหว่างตัวแปรสองตัว แต่ไม่อยากแก้สมการให้ตัวแปรตัวหนึ่งอยู่ในรูปของฟังค์ชันของตัวแปรอีกตัว เราสามารถใช้ ImplicitPlot[ ] แสดงกราฟได้
ก่อนอื่นเราต้องนำเข้าข้อกำหนดของ ImplicitPlot[ ] ก่อน

In[13]:=

<<Graphics`ImplicitPlot`

แล้วเราก็วาดกราฟของเรา

In[14]:=

ImplicitPlot[x^2 + (y/2)^21, {x, -2, 2}, {y, -2, 2}]

[Graphics:../HTMLFiles/chapter3_39.gif]

Out[14]=

⁃ContourGraphics⁃

เราสามารถวาดหลายๆกราฟก็ได้

In[15]:=

ImplicitPlot[{x^2 + (y/2)^21, (x/2)^2 + (y/2)^21}, {x, -3, 3}, {y, -3, 3}]

[Graphics:../HTMLFiles/chapter3_42.gif]

Out[15]=

⁃Graphics⁃

เราสามารถใช้ options ต่างๆเหมือนเราเคยใช้ใน Plot[ ]

In[16]:=

RowBox[{ImplicitPlot, [, RowBox[{{x^2 + (y/2)^21, (x/2)^2 + y^21}, ,, {x, -3,  ... wBox[{0.01, ,, 0.01}], }}], ]}], ,, RGBColor[1, 0, 0]}], }}], ,, RGBColor[0, 0, 1]}], }}]}]}], ]}]

[Graphics:../HTMLFiles/chapter3_45.gif]

Out[16]=

⁃Graphics⁃

นอกจาก ImplicitPlot[ ] แล้วเรายังสามารถใช้ ParametricPlot[ ]

In[17]:=

RowBox[{ParametricPlot, [, RowBox[{RowBox[{{, RowBox[{Cos[t], ,, RowBox[{Sin, [, RowBox[{RowBox[{Sqrt, [, 1.5, ]}], t}], ]}]}], }}], ,, {t, 0, 20Pi}}], ]}]

[Graphics:../HTMLFiles/chapter3_48.gif]

Out[17]=

⁃Graphics⁃

ภาพ phase space ของ damped pendulum

In[18]:=

ParametricPlot[{Exp[-t/10] Cos[t], Exp[-t/10] Sin[t]}, {t, 0, 20}]

[Graphics:../HTMLFiles/chapter3_51.gif]

Out[18]=

⁃Graphics⁃

จะเห็นได้ว่าภาพดูแบนๆ แปลกๆ
เราต้องช่วยบอกให้ ParametricPlot แสดงผล จาก x = -1 ถึง 1 และ y = -1 ถึง 1 ด้วย option PlotRange -> {{-1,1},{-1,1}}
และให้อัตราส่วนกว้าง:สูง ให้ถูกต้องด้วย option AspectRatio -> 1

In[19]:=

ParametricPlot[{Exp[-t/10] Cos[t], Exp[-t/10] Sin[t]}, {t, 0, 20}, AspectRatio 1, PlotRange  {{-1, 1}, {-1, 1}}]

[Graphics:../HTMLFiles/chapter3_54.gif]

Out[19]=

⁃Graphics⁃

เราสามารถใช้ option AspectRatio -> Automatic อย่างเดียวแล้วไม่ใช้ PlotRange ก็ได้

In[20]:=

ParametricPlot[{Exp[-t/10] Cos[t], Exp[-t/10] Sin[t]}, {t, 0, 20}, AspectRatio Automatic]

[Graphics:../HTMLFiles/chapter3_57.gif]

Out[20]=

⁃Graphics⁃

เราสามารถวาดกราฟหลายๆอัน และใช้ option PlotStyle ด้วย
ในที่นี้เราวาดการเคลื่อนที่แบบ projectile ที่มุม 45 และ 60 องศา

In[21]:=

RowBox[{ParametricPlot, [, RowBox[{RowBox[{{, RowBox[{RowBox[{{, RowBox[{10Cos[Pi/4] t, ,, Row ... spectRatio  Automatic, ,, PlotStyle  {RGBColor[1, 0, 0], RGBColor[0, 1, 0]}}], ]}]

[Graphics:../HTMLFiles/chapter3_60.gif]

Out[21]=

⁃Graphics⁃


Created by Mathematica  (September 8, 2005)