IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Попадание точек в область, ограниченную тремя лини
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 6
Пол: Мужской

Репутация: -  0  +


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

1) задано начальное значение k нач , конечное значение k кон и шаг изменения k;

2) заданы k нач. , k кон. и набор из n произвольных значений коэффициента, n не более 10 (k нач. меньше k кон. )
Мой способ (2)

На той же плоскости заданы декартовы координаты точек, образующих множество М (координаты задаются произвольно, n не больше 20).

Для каждого из заданных значений k сформировать P - подмножество M, содержащее точки, которые находятся внутри замкнутой области D.

Уравнения линий: y=ln(x-0,25)
y=0,2x-k
x*x/0,25-y*y/1,21=1
k нач = 0,1 k кон = 0,5

Заранее ОГРОМНОЕ сПаСиБо

Сообщение отредактировано: GORBUNKI -


--------------------
Всем помогу только тем, чем смогу.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 5)
сообщение
Сообщение #2


Новичок
*

Группа: Пользователи
Сообщений: 10

Репутация: -  0  +


Если не сложно, обозначь свой мыльник....
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






Я бы предложил метод сканирующей линии. Через точку Ti проводишь вертикальную и горизонтальную линию. Затем ещёшь кол-во точек пересечения левее этой точки и выше. Если оба числа нечётные, то точка должна лежать внутри фигуры.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Код
Все равно не могу ни чего понять. я даже математически понять эту задачу понять не могу.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






Во-первых, вопрос: что, тема за год не перестала быть актуальной? Эту задачу за год никто не решил? А может, просто не пытались?

Ну и по теме:
Цитата
я даже математически понять эту задачу понять не могу

я надеюсь, этот алгоритм поможет понять что из себя представляет данная задача?

const
n_max = 20;
k_max = 10;
type
tpoint = record
x, y: integer;
end;
tparray = array[1 .. n_max] of tpoint;

{ вот эта функция и должна определить, находится ли точка P
внутри фигуры, образованной заданными кривыми при текущем значении K }
function is_inside(p: tpoint; k: real): boolean;
begin
{ ... }
end;

var
points: tparray;
sub_set: array[1 .. k_max] of tparray;

n, curr_k, curr_n: integer;
k: real;

begin
k := 0.1; curr_k := 1;
{ перебираем все возможные значения K }
while k <= 0.5 do begin

curr_n := 1;
{ и для каждого из них - проверяем ВСЕ точки на попадание внутрь полигона }
for n := 1 to n_max do begin

{ если очередная точка внутри - то добавить ее к списку внутренних при текущем K }
if is_inside(points[n], k) then begin
sub_set[curr_k][curr_n] := points[n];
inc(curr_n)
end;

end;
k := k + 0.1; inc(curr_k)

end;

end.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






а что должно быть на месте ваших { ... }? wacko.gif blink.gif
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 28.03.2024 19:10
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name