24 августа 2005 г.

Заливка (штриховка) области в 2D-Plot

При иллюстрировании решений двумерными графиками такая задачка время от времени возникает. Здесь приведены варианты решения, предложенные на маткадовском форуме Экспоненты.ру (там, к сожалению, иллюстрации не сохранились):

Вопрос 1:
Хотелось бы узнать, как можно в MathCad выделить (закрасить) область графика, ограниченную двумя кривыми f1(v), f2(v) и константами (маркеры) left, right.



Ответ:

Можно закрасить "зигзагом":


Если нужно фрагмент, то так:


Для чистоты эксперимента следует упомянуть, что d должно быть нечетным, иначе штриховка выходит за правую границу (хотя это и не сильно заметно).

При небольших значениях d получаются интересные закраски (хотя зачем это надо я не знаю :-))


Как вариант - закраска области между графиками вертикальными линиями (точнее ступенчатой периодической конструкцией).


Если немного подумать, то можно изобразить диагональную заливку

Более компактный вариант для вертикальной штриховки.
/А вот косую сделать не вышло :( - не все так просто с выдержкой постоянного шага между штрихами/


Достигаем еще большего упрощения:


Вертикальная закраска пригодится для тех же диаграмм Венна. Но получается грубо, плотность закраски и шаг смещения нужно подбирать вручную (картинка изменяется также при изменении размеров графика). Ну и контур круга дорисовать..


Плетенка, однако :)


Вопрос 2:

...описывается как строить область,ограниченную двумя неравенствами. А как быть с областью типа:
6*x1+4*x2>=12
2*x1+3*x2<=24
-3*x1+4*x2<=12
Ответ:

LinkWithin

Related Posts Plugin for WordPress, Blogger...