50303

Построение плоских фигур

Лекция

Математика и математический анализ

Рассмотрим достаточно подробно алгоритм построения графика функциональной зависимости в заданном интервале изменения аргумента функции. Первый этап выполнения такого задания должен заключаться в исследовании данной функции в результате которого следует выяснить: 1 имеет ли функция в заданном интервале особенности не обращается ли она в бесконечнось при всех ли значения аргумента она определена; 2 пределы изменения область что необходимо для оценки коэффициентов преобразований. После этого можно приступать непосредственно к...

Русский

2014-01-20

428 KB

2 чел.

Глава 1. Построение плоских фигур.

1.1 Экранные координаты.

Наше поле деятельности - графический экран персонального компьютера. Все точки (пикселы) экрана имеют две координаты, которые мы будем обозначать:  горизонтальную - , вертикальную - .

 Порядок нумерации (сверху вниз, снизу вверх), количество точек по вертикали и горизонтали различаются для различных ПЭВМ, для различных режимов работы. Чтобы не привязываться к конкретному графическому экрану, будем все рассуждение, оценки, расчеты проводить в так называемой физической системе координат , соответствующей прямоугольной декартовой системе. Для этого необходимо установить соответствие (формулы преобразования) от физических координат  к экранным координатам.

Допустим, наш рисунок занимает на плоскости  прямоугольный участок, в пределах которого координаты изменяются в пределах от  до ; и от  до . Мы хотим изобразить этот рисунок на участке экрана ограниченного координатами  и , см. рис. 1.

Чтобы рисунок не искажался, связь между физическими и экранными координатами должна быть линейной, то есть выражаться формулами

.     (1)                                                     

Параметры преобразований  и   могут быть легко определены из граничных условий. Так, например, для горизонтальных координат должны выполняться соотношения

,                                       (2)

из которых элементарно находим

;     .       (3)

Аналогичные выражения можно получить и для параметров преобразования вертикальных координат:

;     .       (3a)

Если необходимо построить график некоторой функциональной зависимости , то масштабные множители могут быть различны, и определяются только размерами отведенной области экрана. В том же случае, когда требуется сохранить пропорции вертикальных и горизонтальных размеров множители   должны быть одинаковы. В этом случае из двух коэффициентов следует выбирать минимальный, иначе рисунок выйдет за пределы отведенной области экрана. Кроме того, экранные координаты  должны быть переменными целого типа, поэтому, окончательно, формулы преобразования должны включать операцию целочисленного округления.

В дальнейшем будем полагать, что формулы преобразования физических координат в экранные заданы и имеют вид

,                   (4)

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

 Мы настоятельно рекомендуем программно оформлять эти преобразования в виде процедуры (подпрограммы), тогда в дальнейшем можно не задумываться о расположении рисунка на экране, а «спокойно работать» с физическими кординатами. 

Конечно, на первый взгляд, расчет коэффициентов преобразования представляет собой лишнюю операцию, но, во-первых, она не такая уж трудоемкая, при малейшем навыке коэффициенты преобразования рассчитываются «в уме», тем более, что высокая точность тут не нужна; во-вторых, используя процедуру преобразования, можно сделать программы не привязанными к конкретному режиму работы (для этого следует аппаратно определить размеры экрана в числе пикселов, и дальнейшие расчеты вести, используя эти размеры); в-третьих всегда можно исправить в ходе отладки программы значения коэффициентов преобразований - гораздо легче это сделать в одном месте в подпрограмме, а не во всех графических операторах, непосредственно выполняющих построение.

 1.2 Построение графиков функций.

Рассмотрим достаточно подробно алгоритм построения графика функциональной зависимости   в заданном интервале изменения аргумента функции .Первый этап выполнения такого задания должен заключаться в исследовании данной функции, в результате которого следует выяснить:

1) имеет ли функция в заданном интервале особенности, не обращается ли она в бесконечнось, при всех ли значения аргумента она определена;

2) пределы изменения  - область  , что необходимо для оценки коэффициентов преобразований.

Допустим, что на заданном интервале функция гладкая, коэффициенты преобразований найдены. После этого можно приступать непосредственно к построению графика функции. Для чего необходимо:

- оформить процедуру преобразования переменных к экранным координатам;

- задать функциональную зависимость, описывающую данную кривую;

- построить оси координат, при необходимости их оцифровать;

- переместить графический курсор в начальную точку с координатами ;

- организовать цикл по изменению аргумента  с некоторым небольшим шагом , в пределах которого вычислить значения функции   при этих значениях аргумента, преобразовать полученные координаты к экранным, нанести полученные точки на экран и соединить их отрезками прямых1.

Конечно, данный алгоритм не является абсолютно универсальным - в некоторых случаях могут возникнуть непредвиденные осложнения (функция слишком быстро осциллирует, существенные особенности графика незаметны на экране компьютера, не говоря уже о чисто технических проблемах - делении на нуль , переполнении и т.д.), с которыми приходится «бороться»  особыми методами.

Простое нанесение точек, даже с очень маленьким шагом может не привести к сплошкой линии на экране, особенно в том случае, если функция изменяется достаточно быстро.

 Шаг аргумента  следует выбирать таким, чтобы длина отрезка на экране составляла 2-3 пиксела, при большем шаге может быть заметна изломанность линии, уменьшение шага не приводит к улучшению качества изображения, а только затягивает время построения.

Длину отрезка можно оценить по формуле  , где - производная функции.

Пример . Построить график функции  при изменении  от -2 до 2.

В этих пределах изменения   функция изменяется от 0 до 4 и является непрерывной. Примем масштабные множители  равными 50 (при этом рисунок разместится в пределах квадрата со стороной 200 пикселов). Параметры сдвигов  можно выбрать так чтобы изображение поместилось в пределах экрана (например, можно положить их равными координатам центра экрана). Шаг изменения аргумента  примем равным 0,1 (что соответствует изменению горизонтальной координаты на 5 пикселов).

 На рисунке 2 показан результат построения. Там же приведенo изображениe полученнoе при шаге   при «точечном»  построении графика. Сравните !

Часто возникает необходимость построить семейство функций , где - некоторый параметр, изменяющийся в заданных пределах. Как будет видно в дальнейшем, рисунки, содержащие графики семейств, выглядят более впечатляющими, в них часто можно уследить динамику превращений кривых при изменении параметра. Для построения семейства необходимо участок программы, выполняющий построение отдельной кривой,  включить внутрь цикла по изменению параметра  .

Пример. Построить семейство функций  в интервале  для параметра , изменяющегося от -5 до 5 с шагом 1.

 Простейший анализ функции показывает, что

а) в заданном интервале функция не обращается в бесконечность, достигает максимального значения  в точке  при ;

б) при функция имеет минимум в точке , при этом ; наибольшая глубина минимума при , тогда .

Если выбрать масштабный множитель  таким, чтобы на экране умещался весь диапазон изменения функции (от -4 до 42), то характерная особенность графика - минимум функции будет практически не заметен, этот участок сольется с осью . Поэтому разумно начинать построение графиков семейства от  и заканчивать когда  достигнет некоторого значения (скажем, равного 15), либо  станет равным 3.

На рис.3 показано построенное семейство. Обратите внимание, что для всех кривых, кроме кривой последней, соответствующей , условием окончания послужило ограничение .

В некоторых случаях имеет смысл строить графики в «обратном» направлении - в сторону уменьшения аргумента. Эта необходимость возникает, если функция является убывающей, а при малых  устремляется к бесконечности.

Пример. Построить семейство функций , где  на интервале .

 Все функции этого семейства при  стремятся к бесконечности, следовательно, начинать их построение с точки  невозможно. Однако, можно строить графики, начиная с точки  и двигаясь в сторону уменьшения аргумента до тех пор пока  не превысит некоторого значения (на рис.4  .

1 В языке Pascal удобно вести построение с помощью оператора LineTo, предварительно установив начальное положение курсора с помощью оператора MoveTo.


 

А также другие работы, которые могут Вас заинтересовать

24055. Врожденные пороки сердца. Дефект межпредсердной и межжелудочковой перегородок 25.5 KB
  Врожденные аномалии пищевода. полное отсутствие атрезия аплазия пищевода; 2 частичная атрезия пищевода; 3 врожденные стенозы; 4 трахеоэзофагеальные фистулы; 5 врожденный короткий пищевод с образованием грудного желудка см. главу Дивертикулы пищевода; 7 врожденное диффузное или частичное расширение пищевода; 8 полное или частичное удвоение пищевода; 9 врожденные кисты и аберрантные ткани в пищеводе. Атрезии пищевода есть заращение его просвета на какомлибо участке или по всей длине.
24056. Крупозная и очаговая пневмонии: клиника, диагностика, лечение 43.49 KB
  Вегетососудистая дистония ВСД синонимы: нейроциркуляторная дистония нейроциркуляторная астения психовегетативный синдром вегетоневроз синдром вегетативной дисфункции полиэтиологический синдром характеризующийся дисфункцией вегетативной автономной нервной системы ВНС и функциональными то есть не органическими нарушениями со стороны практически всех систем организма в основном сердечнососудистой. Клинические проявления Основной клинической особенностью больных ВСД является наличие у больных многочисленных жалоб многообразие...
24057. Острые и хронические эрозии желудка и двенадцатиперстной кишки 30.57 KB
  Санация очагов хронической инфекции Отек легких: диагностика клиника лечение. состояние при котором в результате застоя в малом круге кровообращения или токсического поражения сосудов легких серозногоморрагическая жидкость выпотевает в легочные альвеолы. Богатый белком транссудат при соприкосновении с воздухом дает энергичное вспенивание в реиультате чего объем его резко возрастает значительно сокращается дыхательная поверхность легких и возникает угроза асфиксии. Пониженное содержание белков плазмы может быть важной причиной...
24058. Пневмокониозы (силикоз, силикатозы, бериллиоз, смешанные). Клинико-морфологические формы и стадии 34.62 KB
  хронические заболевания легких вызываемые длительным вдыханием пыли и характеризующиеся развитием фиброза легочной ткани. Чем лучше происходит самоочищение легких от пыли тем меньшее ее количество остается в них и тем меньше риск возникновения П. заключается в образовании пылевого депо вследствие того что количество пыли задерживающейся в легких при дыхании превышает количество пылевых частиц удаляемых из них. Первичные механизмы фиброзного процесса развивающегося в легких под воздействием пыли во многом еще не ясны.
24059. Регуляция обмена белков 44.5 KB
  В регуляции обмена белков принимают участие СТГ инсулин тиреидные гормоны половые гормоны кортикостероиды. Главная роль в регуляции обмена белков принадлежит СТГ. Этапы действия СТГ. Эффекты вызываемые СТГ во времени можно разделить на 3 группы: Ранние эффекты 2 ч.
24060. Регуляция водно-солевого обмена 59 KB
  Осморецепторы гипоталамуса при повышении осмотического давления тканевой жидкости стимулируют освобождение АДГ из секреторных гранул. АДГ увеличивает скорость реабсорбции воды из первичной мочи и тем самым уменьшает диурез. Так АДГ сохраняет необходимый объем жидкости в организме не влияя на количество выделяемого NaCl. ликвидируется стимул который вызвал выделение АДГ.
24061. Гормональная регуляция обмена кальция 35.5 KB
  Стимуляция свертывания крови. Концентрация Са в крови стабильна ее колебания не превышают 3. В плазме крови содержится 24 4 ммоль л 911 мг кальция. Паратгормон обладает гиперкальциемическим действием и одновременно снижает концентрацию фосфатов в крови.
24062. Витамины. Этапы нарушений обмена витаминов 81.5 KB
  Витамины не синтезируются в организме или синтезируются в таких количествах которые не достаточны для выполнения функций и поэтому должны поступать в составе пищевых продуктов при резкой недостаточности витаминов в организме развивается характерный симптомокомплекс. Функции витаминов. Нарушение функций витаминов: Нарушение обмена витаминов может быть связано с нарушением всасывания витаминов или их транспорта с кровью. Нарушение образования активной формы кофермента или нарушение синтеза апофермента может привести к нарушению функций...
24063. Тиамин – В1 113.5 KB
  Патология: При недостаточности тиамина наблюдается неврологическое заболевание берибери я не могу. Для берибери характерны мышечная слабость истощение плохая координация периферический неврит спутанность сознания снижение частоты сердечных сокращений и увеличение размеров сердца. Биохимическая диагностика берибери свидетельствует о повышении концентрации пирувата что свидетельствует об участии ТПФ в качестве кофермента в пируватдегидрогеназном комплексе.