Построить множество точек на плоскости

Автор: Пользователь скрыл имя, 09 Ноября 2011 в 00:39, курсовая работа

Описание работы

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

Содержание

Введение…………………………………………………………………..6
1.Теоретическая часть……………………………………………………7
2.Практическая часть…………………………………………………….11
Заключение……………………………………………………………….13
Список литературы………

Работа содержит 1 файл

Пояснительня записка.doc

— 272.00 Кб (Скачать)

Аннотация

     Данная  программа создана для построения множества точек на плоскости, симметричных заданному множеству, относительно прямой аx+by+c=0.

Программа позволяет:

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

 
 
 
 
 
 
 
 

Содержание 

   Введение…………………………………………………………………..6

   1.Теоретическая  часть……………………………………………………7

   2.Практическая часть…………………………………………………….11

   Заключение……………………………………………………………….13

   Список  литературы………………………………………………………14

   Приложение 1…………………………………………………………….15

   Приложение 2…………………………………………………………….18

 

    Введение

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

Теоретическая часть

  Прямая на плоскости

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

Вектор  называется направляющим вектором прямой L .

Всякая прямая в любой декартовой системе координат  может быть задана уравнением вида .

Всякое уравнение  вида , в любой декартовой системе координат есть уравнение некоторой прямой.

 Задания прямой на плоскости, проходящей через две несовпадающие точки.

В произвольной декартовой системе координат  существуют различные формы задания прямой на плоскости.

Уравнение прямой, проходящей через две несовпадающие  точки: 

 

Заметим, что  эти три случая могут быть описаны  условием

.

Векторное уравнение  прямой (уравнение прямой, проходящей через данную точку , перпендикулярно заданному ненулевому вектору  ). 
 
 

                                              L

                                                                                      
 

                                                                     

                                                                                                                

                                    O                    

                                                                   

Возьмем в качестве направляющего вектора данной прямой , где вектор есть радиус-вектор некоторой точки на прямой (Рис.1). Тогда из условия ортогональности векторов и получим , или же , где . При обратном переходе от записи уравнения прямой в виде к , в качестве можно взять, например, .

В ортонормированной  системе координат  векторное уравнение прямой приобретает вид или же , где .

Сравнивая последнюю  запись с общим видом уравнения  прямой , приходим к заключению, что в ортонормированной системе координат вектор , для которого , будет ортогонален этой прямой.

Вектор  называется нормальным вектором прямой L .

Точки X и   называются симметричными относительно прямой a, и каждая из них – симметричной другой, если a является серединным перпендикуляром отрезка . Очевидно, что если дана прямая a, то каждой точке X соответствует единственная точка симметричная относительно a. Кроме того, множеством неподвижных точек преобразования симметрии относительно прямой a является эта прямая a.

Преобразованием симметрии относительно прямой a (или осевой симметрией с осью a) называется такое преобразование фигуры F , при котором каждой точке данной фигуры сопоставляется точка, симметричная ей относительно прямой a. Пусть прямая a  ось симметрии фигуры. Фигура называется симметричной относительно прямой a, если фигура симметрична сама себе 

Замечание. Поскольку  симметричность точек относительно прямой взаимна, то фигуры F и  называются симметричными относительно прямой a.  

Способ реализации:

  

    

    

   

                     

В случае если получаем:

  

В случае если получаем:

                    
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Практическая  часть

      Общее описание программы.

      Программа реализована с помощью Microsoft Visual C++ 6.0. Проект создан с помощью мастера MFC AppWizard (exe). Приложение создано на основе Single Document.

      Проект  состоит из главного окна и двух диалоговых окон:

    • IDD_ABOUTBOX – содержит окно с информацией о программе и ее авторах
    • IDD_DIALOG1 (соответствует класс СDlg). В данном окне пользователю предлагается выбрать вариант множества

      Основной  программный код содержится в  файле СXYView.cpp. С его помощью обеспечивается ввод всех необходимых данных и навигация по окнам программы. В нем содержатся функции, осуществляющие основные вычисления.

Объявлены следующие  переменные:

      float a,b,c;           //коэффициенты прямой

      float a1,b1,c1; //коэффициенты прямой, перпендикулярной данной 

      float d;  //расстояние от точки до прямой

      CPoint pnt[2]; //точки по которым строиться прямая

      CPoint p[500]; //массив задаваемых точек

      CPoint ps[500]; //массив симметричных точек

      int count, i;   //счётчики

Список функций:

  1. void CXYView::OnDraw(CDC* pDC)-функция производит основные вычисления, построение прямой и в зависимости от выбора множества производит соответствующие действия.
  2. void CXYView::OnLButtonDown(UINT nFlags, CPoint point)-обрабатывает нажатие левой кнопки мыши.
  3. void CXYView::OnFileNew()-возвращает приложение в первоначальное состояние.
  4. void CXYView::OnFiguraFreehand()-при нажатии левой кнопки мыши строит произвольные точки.
  5. void CXYView::OnFiguraCircle()-строит окружность по двум точкам.
  6. void CXYView::OnFiguraTreeangle()- строит треугольник.
  7. void CXYView::Randomi()-производит случайную генерацию точек.
  8. void CXYView::Chet()-строит произвольный четырёхугольник.
 

 

Заключение

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

        В итоге мы убедились, что  VISUAL C++ наиболее удобен в работе и прост в обращении даже для широкого круга пользователей.

Было  очень интересно разрабатывать  свой собственный проект и реализовывать  идеи с помощью языка программирования.

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

     Работа выполнена полностью в соответствии с поставленной задачей и требованиями. Программа проста в обращении и понятна пользователю. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Список  литературы

    УМНОВ А.Е. Аналитическая  геометрия и линейная алгебра: Учеб. пособие: Для вузов - М.О.: Издание ЗАО “Оптимизационные системы и технологии”  2004. - 368 стр.,  с ил. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Приложение 1

Руководство пользователя

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

     

    Задать прямую можно задать двумя щелчками левой кнопкой мыши.

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

    Рассмотрим  действия остальных элементов главного окна приложения.

Панель  инструментов и главное  меню программы.

     Кнопка  служит для очистки экрана. После нажатия этой копки приложение выглядит так, как выглядело в начале работы. Аналогично действию этой кнопки работает команда меню File -> New.

     Нажав кнопку можно узнать об авторах программы. Аналогично действию этой кнопки работает команда меню Help -> О программе 

Далее рассмотрим диалоговое окно, которое появляется после задания прямой:

С помощью диалогового  окна можно выбрать один из видов множества, которое в дальнейшем будет отображено относительно данной прямой.

Виды множеств:

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

Если множество  точек, симметричное данному, не видимо, значит оно выходит за рамки экрана.

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Приложение 2

Листинг программы

1.void CXYView::OnDraw(CDC* pDC)

Информация о работе Построить множество точек на плоскости