Типы программирования, программирование, языки программирования, книги программирование На сайте представлена информация про программирование в Интернете и работу  

решите задачу
Графы в Паскале
задача на Паскале
Проверка своих сил, Задача 2
Помогите с програмой.
Помогите по Паскалю...Плз, СРОЧНО
arctg, "встроенная функция"
Шифрование, как расшифровать
EComponentError
Цвет
ЛЮДИ ПОМОГИТЕ С ЗАДАЧЕЙ!!!, задача на паскале
Решение квадратного уравнения
Помогите решить задачи, Массив
Паскаль из десятичной в двоичную
Cетевое программирование на Pascal
Пацкаль работа с сетью
программирование на paskal, решить задачу
FAQ по Pascal, где взять?
Паскаль, нахождение остатка от деления
Как Вы относитесь к курящим девушкам?
Определение изменений.
CreateOleObject, Ошибка...
D2005 Architect Edition (не триал), Глюк с файлом модуля под Win32.
Компоненты для Telnet?
Как сделать так чтоб файл в нет отправить???
Установка Delphi 8.0?, Почему не устанавливается Delphi 8.0?
отладка в Delphi.Net
if (Delphi .net) then Canvas := false ???, В .net на форме уже не порисуешь?
Разве...., Помогите....
Delphi - 8. Первые впечатления., Шаг вперёд - 2 шага назад
MDA-приложения на основе ECO, Кто-нить юзал уже?
По базам данных, Database Desktop
Переносимость VCL.NET приложений
Delphi 2005 проблема с компилятором
.Net in Delphi7
Работа с IP-адресом, Как его сделать невидимым?
нужен материал, AdoNet, Dot.net
кидаю на форму кнопку(например)-ошибка
Как Вы относитесь к курящим девушкам?
Kylix не хочет устанавливаться (Ошибка - 10), Что делать?
./Project1: relocation error: ./Project1: undefine, undefined symbol: initPAnsiStrings
Программа на Kylix не запускается без IDE, Что делать?
Как окрасить меню в синий цвет?
Ресурсы по Kylix
CrossKylix, Kylix Crosscompiler for Delphi/Windows
Удалено узнать параметры системы, Удалено узнать параметры системы
Kylix зависает при компилировании
Запуск внешних приложений, Запуск внешних приложений
Kylix in FreeBSD, Возможно ли это?
при запуске выдает undefined symbol: initPAnsiStri, Kylix 3 -- Mandrake 10.0 Power Pack +
Kylix зависает при компилировании
Выходит всем нравятся кривые шрифты в Kylix?, :)
kylix под root'ом, объясните
Таблица
Kylix3 Open, жуткие тормоза бр-р-р :)
Kylix3 Open, просит регистрации
Libqt для Kylix с поддержкой сглаживания, кому мож надо :)
Прочитать Symbolic link
Kylix и Mandrake, Установка
проблема со шрифтами
Сколько стоит лицензионный Kylix?
Проверка CrossKylix, Рабтает ли бинарник?
Графики на Kylix, Замена TChart
Про Куликс и его совместимость :)
win api desktop
backspace в консолном приложении
Что использовать вместо NMURL в Kylix C++?
Kylix ХОЧУ!!!!!!!!!!!!, Проблемы с установкой Kylix.
Запуск bin'ov без IDE
Как в Kylix воспроизвести AVI?

Платные хостинги     Раскрутка сайта     Книги по программированию


программирование на paskal, решить задачу

Только здесь 1000 посетителей на Ваш сайт всего за 3 у.е.!

- Ну например так, хоть эт внатуре и не программирование сутьПервое,Для того что бы начало координат преналжело треугольнику необхадимо что бы одна или несколколько из его сторон пересекали ось обцисс и ординат хотябы один раз, соответсвенно для этого те надо проверять выполняица это условие или нет.Второе,Для проверки этого условия те нужно проверить x1*x2>0 еесли истинно то между этими вершинами обцисс не пересекает, для ординат анологично y1*y2>0.третье, Ну и потом перебираешь все варианты (их три кстати) до тех пор пока не либо они не конаться либо не выполница кождое из условий хотябы по одному разу....

- Garabar Господи, зачем так сложно. Если начало координат лежит внутри треугольника, то начало координат и одна вершина лежат по одну сторону от прямой, определяемой остальными вершинами. Проверяется это элементарно - если в пределах от -пи до +пи синусы углов 120 и 123 имеют одинаковый знак для любого порядка нумерования точек, то внутри. По координатам посчитать синус - дело плевое...

- Интересно рассчет синусов тратит больше системных ресурсов чем произведение....))))

- 1) не paskal, a Pascal2) Код if ((X1 * X2 <0) or (x2 * x3 < 0) or (X1 * x3 < 0)) and ((Y1*Y2 < 0) or (Y2 * Y3 < 0) or (Y3 * Y1 < 0)) then  writeln('Да') else  writeln('Нет');highlightSyntax('delphimMmFlO','delphi');Может и ошибаюсь, но вроде так...

- ОШИБАЮСЬ!!!Лохонулся я вчера: после трех пар математичесого анализа и одной пары линейной алгебры мозги не хотели работатьВот примерчик:Код var x,y:real; x1,y1,x2,y2,x3,y3:real;begin readln(x1,y1,x2,y2,x3,y3); x:=0; y:=0; if ((y < (y1 - y3)*(x - x3)/(x1-x3)+y3) and (y < (y2 - y1)*(x - x1)/(x2-x1)+y1) and (y >(y3 - y2)*(x - x2)/(x3-x2)+y2)) or   ((y < (y2 - y1)*(x - x1)/(x2-x1)+y1) and (y < (y3 - y2)*(x - x2)/(x3-x2)+y2) and (y >(y1 - y3)*(x - x3)/(x1-x3)+y3)) or   ((y < (y3 - y2)*(x - x2)/(x3-x2)+y2) and (y < (y1 - y3)*(x - x3)/(x1-x3)+y3) and (y >(y2 - y1)*(x - x1)/(x2-x1)+y1)) or   ((y > (y1 - y3)*(x - x3)/(x1-x3)+y3) and (y < (y2 - y1)*(x - x1)/(x2-x1)+y1) and (y >(y3 - y2)*(x - x2)/(x3-x2)+y2)) or   ((y > (y2 - y1)*(x - x1)/(x2-x1)+y1) and (y < (y3 - y2)*(x - x2)/(x3-x2)+y2) and (y >(y1 - y3)*(x - x3)/(x1-x3)+y3)) or   ((y > (y3 - y2)*(x - x2)/(x3-x2)+y2) and (y < (y1 - y3)*(x - x3)/(x1-x3)+y3) and (y >(y2 - y1)*(x - x1)/(x2-x1)+y1)) or   ((y < (y1 - y3)*(x - x3)/(x1-x3)+y3) and (y > (y2 - y1)*(x - x1)/(x2-x1)+y1) and (y >(y3 - y2)*(x - x2)/(x3-x2)+y2)) or   ((y < (y2 - y1)*(x - x1)/(x2-x1)+y1) and (y > (y3 - y2)*(x - x2)/(x3-x2)+y2) and (y >(y1 - y3)*(x - x3)/(x1-x3)+y3)) or   ((y < (y3 - y2)*(x - x2)/(x3-x2)+y2) and (y > (y1 - y3)*(x - x3)/(x1-x3)+y3) and (y >(y2 - y1)*(x - x1)/(x2-x1)+y1)) or   ((y > (y1 - y3)*(x - x3)/(x1-x3)+y3) and (y > (y2 - y1)*(x - x1)/(x2-x1)+y1) and (y <(y3 - y2)*(x - x2)/(x3-x2)+y2)) or   ((y > (y2 - y1)*(x - x1)/(x2-x1)+y1) and (y > (y3 - y2)*(x - x2)/(x3-x2)+y2) and (y <(y1 - y3)*(x - x3)/(x1-x3)+y3)) or   ((y > (y3 - y2)*(x - x2)/(x3-x2)+y2) and (y > (y1 - y3)*(x - x3)/(x1-x3)+y3) and (y <(y2 - y1)*(x - x1)/(x2-x1)+y1))   then    writeln('Да')   else    writeln('Нет'); readln;end.highlightSyntax('delphiN2M2ZD','delphi');

- Доработанный вариант:Код if ((y < (y1 - y2)*(x - x2)/(x1 - x2) + y2) and (y < (y3 - y1)*(x - x1)/(x3 - x1) + y1) and (y > (y2 - y3)*(x - x3)/(x2 - x3) + y3) and  (x > (y - y2)*(x1 - x2)/(y1 - y2) + x2) and (x < (y - y1)*(x3 - x1)/(y3 - y1) + x1) and (x > (y - y3)*(x2 - x3)/(y2 - y3) + x3)) or ((y < (y2 - y3)*(x - x3)/(x2 - x3) + y3) and (y < (y1 - y2)*(x - x2)/(x1 - x2) + y2) and (y > (y3 - y1)*(x - x1)/(x3 - x1) + y1) and  (x > (y - y3)*(x2 - x3)/(y2 - y3) + x3) and (x < (y - y2)*(x1 - x2)/(y1 - y2) + x2) and (x > (y - y1)*(x3 - x1)/(y3 - y1) + x1)) or ((y < (y3 - y1)*(x - x1)/(x3 - x1) + y1) and (y < (y2 - y3)*(x - x3)/(x2 - x3) + y3) and (y > (y1 - y2)*(x - x2)/(x1 - x2) + y2) and  (x > (y - y1)*(x3 - x1)/(y3 - y1) + x1) and (x < (y - y3)*(x2 - x3)/(y2 - y3) + x3) and (x > (y - y2)*(x1 - x2)/(y1 - y2) + x2)) or ((y < (y1 - y2)*(x - x2)/(x1 - x2) + y2) and (y > (y3 - y1)*(x - x1)/(x3 - x1) + y1) and (y > (y2 - y3)*(x - x3)/(x2 - x3) + y3) and  (x > (y - y2)*(x1 - x2)/(y1 - y2) + x2) and (x < (y - y1)*(x3 - x1)/(y3 - y1) + x1) and (x > (y - y3)*(x2 - x3)/(y2 - y3) + x3)) or ((y < (y2 - y3)*(x - x3)/(x2 - x3) + y3) and (y > (y1 - y2)*(x - x2)/(x1 - x2) + y2) and (y > (y3 - y1)*(x - x1)/(x3 - x1) + y1) and  (x > (y - y3)*(x2 - x3)/(y2 - y3) + x3) and (x < (y - y2)*(x1 - x2)/(y1 - y2) + x2) and (x > (y - y1)*(x3 - x1)/(y3 - y1) + x1)) or ((y < (y3 - y1)*(x - x1)/(x3 - x1) + y1) and (y > (y2 - y3)*(x - x3)/(x2 - x3) + y3) and (y > (y1 - y2)*(x - x2)/(x1 - x2) + y2) and  (x > (y - y1)*(x3 - x1)/(y3 - y1) + x1) and (x < (y - y3)*(x2 - x3)/(y2 - y3) + x3) and (x > (y - y2)*(x1 - x2)/(y1 - y2) + x2)) or ((y < (y1 - y2)*(x - x2)/(x1 - x2) + y2) and (y < (y3 - y1)*(x - x1)/(x3 - x1) + y1) and (y > (y2 - y3)*(x - x3)/(x2 - x3) + y3) and  (x > (y - y2)*(x1 - x2)/(y1 - y2) + x2) and (x < (y - y1)*(x3 - x1)/(y3 - y1) + x1) and (x < (y - y3)*(x2 - x3)/(y2 - y3) + x3)) or ((y < (y2 - y3)*(x - x3)/(x2 - x3) + y3) and (y < (y1 - y2)*(x - x2)/(x1 - x2) + y2) and (y > (y3 - y1)*(x - x1)/(x3 - x1) + y1) and  (x > (y - y3)*(x2 - x3)/(y2 - y3) + x3) and (x < (y - y2)*(x1 - x2)/(y1 - y2) + x2) and (x < (y - y1)*(x3 - x1)/(y3 - y1) + x1)) or ((y < (y3 - y1)*(x - x1)/(x3 - x1) + y1) and (y < (y2 - y3)*(x - x3)/(x2 - x3) + y3) and (y > (y1 - y2)*(x - x2)/(x1 - x2) + y2) and  (x > (y - y1)*(x3 - x1)/(y3 - y1) + x1) and (x < (y - y3)*(x2 - x3)/(y2 - y3) + x3) and (x < (y - y2)*(x1 - x2)/(y1 - y2) + x2)){Можно ещё покрутить треугольник в плоскости, но нет времени...}  then   writeln('Yes')  else   writeln('No');highlightSyntax('delphiY2M2E=','delphi');

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

- AkinaКод во-первых, сисинус считается исключительно вычитаниями и делениями. Во-вторых, достаточно получить его знак. highlightSyntax('delphiMjlmMW','delphi');Хе) ну что бы получить его знак его нужно пасчитать....А во вторых что бы пасчитать синус нужно я думаю больше раза поделить(или умножить))))

- Pakshin A. S., как этим пользоваться ? У меня все время "Да"... + Иногда вылетает Floating Point - ошибка... Вот мой вариант:Если начало координат принадлежит треугольнику (внутри треугольника, или на сторонах), то треугольник должен пересекать обе оси Ox и Oy с двух сторон (на положительной и отрицательной частях)...Код function ChkTreug (x1, y1, x2, y2, x3, y3 : real) : boolean;var Ints : array [0..3] of boolean;  procedure Intersect (x1, y1, x2, y2 : real);  begin    if (x2*x1 < 0) then Ints[0 + Byte((y1 - x1/(x2-x1)*(y2-y1)) > 0)] := True;    if (y2*y1 < 0) then Ints[2 + Byte((x1 - y1/(y2-y1)*(x2-x1)) > 0)] := True;  end;begin  FillChar (Ints, SizeOf(Ints), 0);  Intersect (x1, y1, x2, y2);  Intersect (x2, y2, x3, y3);  Intersect (x3, y3, x1, y1);  Result := Ints[0] and Ints[1] and Ints[2] and Ints[3];end;highlightSyntax('delphiDA4Yjk','delphi');

- Я пытаюсь рассмотреть позицию точки по отношению к прямым через уравнение прямой, проходящей через две точкиy-y1=(y2-y1)(x-x1)/(x2-x1)...Да видимо мысль не туда пошла...

- В RXLibrary есть функция (сечас не помню точно как называется), вот онавозвращает True, если точка лежит внутри многоугольника.

- ДЫМ , Да? А я помнится сам её корябал... Заманался, честно говоря.

- небольшое уточнение: необходимо проверять не для одной из вершин, а для всех (хотя, может, я неправильно прочитал, и именно это и имелось в виду)небольшая модификация:1. точка лежит внутри треугольника тогда и только тогда, когда при обходе его она всегда лежит с одной стороны (это верно вообще для всех выпуклых полигонов)2. для того, чтобы определить, с какой стороны лежит точка от прямой, достаточно определить знак угла (если считать его между -180 и +180) между направляющим вектором прямой и вектором от одной из точек прямой к исследуемой точке3. для определения знака угла в интервале (-180, +180) достаточно определить знак синуса4. как было справедливо замечено для подсчета синуса между двумя векторами на плоскости достаточно нескольких арифметических операций: просто добавляем к каждому вектору третью нулевую координату z и считаем их векторное произведениеи так алгоритм такой:Код result:=(ABxAO,BCxBO,CAxCO имеют одинаковый знак);highlightSyntax('delphi1MzRmZ','delphi');под обозначением ABxAO понимается следующее:a=B1-A1b=B2-A2c=O1-A1d=O2-A2ABxAO=a*d-b*c

Интернет казино     Онлайн игры     Увеличение члена     Купить DVD


Главная страница | программирование 1с учебник | программирование сотовых | офшорное программирование | примеры линейное программирование | анализ программирование | программирование делфи | cgi программирование | программирование atmel | школа программирования | типы программирования | практика программирования | программирование autocad | программирование профессиональное | обзор языков программирования | среда программирования delphi | задачи целочисленного программирования | характеристика языка программирования | стиль программирования | постановка задачи программирование | программирование серверов | программирование диплом скачать | применение программирования | Ссылки

Все про практика программирования