prologues:=2; beginfig(1); u:=0.025cm; pickup pencircle scaled 1; pair origin,top_left,bottom_right; origin=(320u,860u); top_left=(320u,1060u); bottom_right=(580u,860u); path vert_axis,horiz_axis,budget_set; vert_axis=origin--top_left; draw vert_axis; label.lft(btex $y$ etex,(320u,1060u)); label.bot(btex $x$ etex,(580u,860u)); label.llft(btex $0$ etex,origin); horiz_axis= origin--bottom_right; draw horiz_axis; pair upper_left_budget_line,bottom_right_budget_line; upper_left_budget_line=7/8[origin,top_left]; bottom_right_budget_line=3/4[origin,bottom_right]; draw upper_left_budget_line--bottom_right_budget_line; label.lft(btex ${W}\over{p_y}$ etex,upper_left_budget_line); label.bot(btex ${W}\over{p_x}$ etex,bottom_right_budget_line); director:=angle(bottom_right_budget_line-upper_left_budget_line); pair tangency,left_wing,right_wing; tangency:=(1/2)[upper_left_budget_line,bottom_right_budget_line]; left_wing:=(-40u,90u); right_wing:=(90u,-40u); draw (tangency+left_wing)..(tangency+(2u,2u)){dir director}..(tangency+(25u,-15u))..(tangency+right_wing) withcolor green; dotlabel.urt(btex $(x^\ast,y^\ast) $ etex,(tangency+(1u,1u))); drawarrow tangency..(tangency-(0,15u)); drawarrow (tangency-(0,15u))--(tangency+(25u,-15u)); dotlabel.rt(btex $(x^\ast+dx,y^\ast-dy)$ etex,(tangency+(25u,-15u))); endfig; end