Advertisement
sutasuu

method interval

Dec 7th, 2024
11
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import graph;  //для числовой прямой и лейблов
  2. import patterns;  // для штриховки
  3. size(6cm);  // размер рисунка
  4. dotfactor=8; // размер точек
  5. real a=-4, b=3; // границы числовой прямой
  6. real x1=-2, x2=-1, x3= 1; // нули функции
  7. bool inside = false; // выделить промежуток между корнями? true/false
  8. real buff=0.4; // зазор между стрелкой и окончанием штриховки
  9. xaxis("$x$", a, b+buff, EndArrow(HookHead, 1.5mm));  // числовая прямая
  10. labelx(x1); labelx(x2); labelx(x3); // лейблы нулей
  11. add("hatch", hatch (1mm, black)); // настройка штриховки
  12. real h=0.4;  // высота заштрихованных прямоугольников
  13.  
  14. // прямоугольники
  15. path left, center, right;
  16. left=(x1,0)--(x1,h)--(a,h)--(a,0)--cycle;
  17. center=(x1,0)--(x1,h)--(x2,h)--(x2,0)--cycle;
  18. right=(x2,0)--(x2,h)--(b,h)--(b,0)--cycle;
  19.  
  20.  
  21. if(inside){
  22.     filldraw(center, pattern ("hatch")); // отрисовка центральной области
  23. }
  24. else{
  25. fill(left^^right, pattern ("hatch")); // штриховка
  26. draw(subpath(left, 0, 2)); // контур для левой области
  27. draw(subpath(right, 0, 2)); // контур для правой области
  28. }
  29.  
  30. dot(x1 * E, filltype=UnFill);
  31. dot(x2 * E);
  32. dot(x3 * E, filltype=UnFill);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement