C++ для начинающих как построить перпендикуляр к прямой

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

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

  Первый вопрос который должен возникнуть — что это за теоремы такие. Кто-то легко догадается, а кто-то не сможет понять. Я взял первый попавшийся пример решения и переписал в общем виде на лист бумаги. Решая то что получилось у меня вышло такое выражение. (Пример был дан на числах, я переписал в общем). Хотите заниматься графикой, привыкайте решать примеры. Знание — сила. Теории в интернете очень много, поэтому не вижу смысла описывать её здесь. Практических примеров маловато и это печально. Продолжу пояснения

  Есть три глобальные переменные. В них угловой коэффициент прямых и смещения прямых. Сначала я их прописывал внутри функций, но каждый раз их считать не удобно, поэтому думал создать функции для расчета каждой, но посчитал что короче будет использовать их как глобальные. У двух разных прямых разные смещения, поэтому считать их приходится одно и другое. Угловой коэффициент у обоих прямых один и тот же. Я не стал делать отдельную функцию и написал расчет этих данных в функции ввода. (Легко читается по комментариям).

  В коде использована структура. Некоторые могу задать вопрос — а без структур никак? Структура определяет пользовательский тип данных и в моем случае использована только для того, чтоб избегать переполнения. Есть тип данных pointtype — но при его использовании расчеты проводятся не всегда правильно, поэтому использована структура, аналогичная pointtype.

  В конце функции main я вывел обе прямые на экран. Под вопрос может попасть перенос пера. Куда и как его перемещать. У прямой есть формула kx+b=y. Если x равно ноль, то уравнение получается такое b=y (были мы тогда еще школьниками), вот и получается, что если надо переместить перо на начало прямой, то надо его разместить по координатам (0,b)
  Думаю путаницу могут вызывать буквы обозначающие смещения. Первая прямая строится по двум точкам Т1 и Т2. , вот для них — смещение обозначено b, вторая прямая строится исходя из координат третей точки. Чтобы построить перпендикуляр нужно узнать смещение для него. Это смещение обозначено буквой d и рассчитывается благодаря координатам точки Т3. Дальше происходит только вычерчивание прямой по указанным формулам.

  Использовать мой стиль написания кода совсем не обязательно и порядок действий начертания и расчетов может слегка отличаться.

Все комментарии на сайте проверяются, поэтому ваш комментарий может появиться не сразу. Для вставки кода в комментарий используйте теги: [php]ВАШ_КОД[/php]

Один комментарий: C++ для начинающих как построить перпендикуляр к прямой

Добавить комментарий

Ваш e-mail не будет опубликован.

Поиск

 
     

Случайная книга в электронном формате

Яндекс.Метрика
НАГРАДИ АВТОРА САЙТА
WEBMONEY
R375024497470
U251140483387
Z301246203264
E149319127674

Мы должны убедиться, что сайтом пользуется не робот!!! Для этого разденьтесь догола и включите wеb-камеру.

Выражаю свою признательность

  • Максиму очень признателен за указание на мои ошибки и неточности.
  • Sergio ===> за оказание помощи в исправлении моих ошибок
  • Gen ===> за правильное стремление помочь другим новичкам и выявления моих ошибок