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

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

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

> Попадание точек в область, ограниченную тремя лини
GORBUNKI
сообщение 21.04.2004 14:50
Сообщение #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 - 21.04.2004 16:11


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


Гость






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

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

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

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.
 К началу страницы 
+ Ответить 
безымянный
сообщение 25.11.2007 16:31
Сообщение #3


Гость






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

Сообщений в этой теме


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

 



- Текстовая версия 20.07.2025 2:24
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"