Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import graph; //для числовой прямой и лейблов
- import patterns; // для штриховки
- size(6cm); // размер рисунка
- dotfactor=8; // размер точек
- real a=-4, b=3; // границы числовой прямой
- real x1=-2, x2=-1, x3= 1; // нули функции
- bool inside = false; // выделить промежуток между корнями? true/false
- real buff=0.4; // зазор между стрелкой и окончанием штриховки
- xaxis("$x$", a, b+buff, EndArrow(HookHead, 1.5mm)); // числовая прямая
- labelx(x1); labelx(x2); labelx(x3); // лейблы нулей
- add("hatch", hatch (1mm, black)); // настройка штриховки
- real h=0.4; // высота заштрихованных прямоугольников
- // прямоугольники
- path left, center, right;
- left=(x1,0)--(x1,h)--(a,h)--(a,0)--cycle;
- center=(x1,0)--(x1,h)--(x2,h)--(x2,0)--cycle;
- right=(x2,0)--(x2,h)--(b,h)--(b,0)--cycle;
- if(inside){
- filldraw(center, pattern ("hatch")); // отрисовка центральной области
- }
- else{
- fill(left^^right, pattern ("hatch")); // штриховка
- draw(subpath(left, 0, 2)); // контур для левой области
- draw(subpath(right, 0, 2)); // контур для правой области
- }
- dot(x1 * E, filltype=UnFill);
- dot(x2 * E);
- dot(x3 * E, filltype=UnFill);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement