Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.12.2011, 22:56
Аватар для Livanderiaamarum
Профессор
Отправить личное сообщение для Livanderiaamarum Посмотреть профиль Найти все сообщения от Livanderiaamarum
 
Регистрация: 10.12.2011
Сообщений: 290

ПРОВЕРИТЬ ПРИНАДЛЕЖНОСТЬ ТОЧКИ МНОГОУГОЛЬНИКУ
ПРИВЕТ ВСЕМ
Нужна функция определяющая принадлежит ли точка многоугольнику. Пространство 2D.
Функция должна принимать 2 аргумента, массив с координатами вершин многоугольника, и координаты точки.

координата должна обозначаться массивом например [1,4] означает
по иксу 1 по игрику 4.

функция должна возвращать либо true либо false


функция должна вызываться типа:

belongs(	
		  [
			[6,4], // массив 
			[6,0], // с
			[1,2], // вершинами 
			[4,5]  // многоугольника
		  ],
			[2,1]  // координата точки
	)



Последний раз редактировалось Livanderiaamarum, 13.12.2011 в 23:48.
Ответить с цитированием
  #2 (permalink)  
Старый 13.12.2011, 23:01
Аватар для Livanderiaamarum
Профессор
Отправить личное сообщение для Livanderiaamarum Посмотреть профиль Найти все сообщения от Livanderiaamarum
 
Регистрация: 10.12.2011
Сообщений: 290

если конечно кто-то осилит
Ответить с цитированием
  #3 (permalink)  
Старый 13.12.2011, 23:12
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от Livanderiaamarum
если конечно кто-то осилит
если кто-то захочет потратить на это своё время,какое не обязан тратить!!
Ответить с цитированием
  #4 (permalink)  
Старый 13.12.2011, 23:15
Аватар для Livanderiaamarum
Профессор
Отправить личное сообщение для Livanderiaamarum Посмотреть профиль Найти все сообщения от Livanderiaamarum
 
Регистрация: 10.12.2011
Сообщений: 290

Сообщение от dmitriymar Посмотреть сообщение
если кто-то захочет потратить на это своё время,какое не обязан тратить!!
это само собой имеется ввиду из тех кто заточит кто осилит

с другой стороны можно и не захотеть потому что задача слишком трудная для здешних посетителей (это ж вам не сайтики клепать) и по этому потребует много времени кое они тратит могут не захотеть. Своеобразный такой lvl детектор, кто возьмется, а кто нет. А кто-то если и возьмется из-за понта, то гуглить полезет потому что ВООБЩЕ НЕ ПРЕДСТАВЛЯЕТ как такие вещи можно сделать, как я уже говорил (это вам не сайтики клепать).

Последний раз редактировалось Livanderiaamarum, 13.12.2011 в 23:19.
Ответить с цитированием
  #5 (permalink)  
Старый 13.12.2011, 23:18
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от Livanderiaamarum
задача слишком трудная (это же не сайтики клепать вам) и по этому потребует много времени.
никто тебе не обязан тратить своё время на решение задачи ,какая с вероятностью почти 100% не встретится в жизни. ksa уже озвучил самое оптимальное и быстрое решение. если нужно другое решение ,то есть раздел http://javascript.ru/forum/job/ ,в каком можно найти исполнителя и договорится за оплату проделанной им работы.

от себя добавлю ,задача не сложная и в школе проходили эту и подобные задачи.и решений у неё множество правда школа физ.мат-но это ведь мелочи
из каждой вершины к точке провести векторы а дальше вообще примитив.
как одно из решений если сумма площадей получившихся 4 треугольников равна площади 4х угольника то точка принадлежит ему

Последний раз редактировалось dmitriymar, 13.12.2011 в 23:32.
Ответить с цитированием
  #6 (permalink)  
Старый 13.12.2011, 23:23
Аватар для Livanderiaamarum
Профессор
Отправить личное сообщение для Livanderiaamarum Посмотреть профиль Найти все сообщения от Livanderiaamarum
 
Регистрация: 10.12.2011
Сообщений: 290

Сообщение от dmitriymar Посмотреть сообщение
никто тебе не обязан тратить своё время на решение задачи ,какая с вероятностью почти 100% не встретится в жизни. ksa уже озвучил самое оптимальное и быстрое решение. если нужно другое решение ,то есть раздел http://javascript.ru/forum/job/ ,в каком можно найти исполнителя и договорится за оплату проделанной им работы.
МНЕ тратить время? я эту задачу уже решил! седня за 3 часа написал) повозился и трассировкой луча по вершине полигона, там пришлось разные случаи учитывать. на деле это оказалось три if'a ))
Кому интересно и у кого уровень позволяет тот может попробовать.


а вот на счет не встретится в жизни это полный бред. Смотря какой уровень программиста. Сейчас уже начинается эпоха web приложений, canvas и прочие вещи. тут большинство быдловерстальщиков автоматически отсеиваются.)) вроде тех которые знают js на уровне "как цвет текста поменять и ajax запрос отправить"
Ответить с цитированием
  #7 (permalink)  
Старый 13.12.2011, 23:25
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Livanderiaamarum,
решение я тебе написал -не думаю что ты смог найти подобное решение
если площадь 2х из получившихся равна 0 то точка лежит на одной из линий ограничивающих фигуру

Последний раз редактировалось dmitriymar, 13.12.2011 в 23:33.
Ответить с цитированием
  #8 (permalink)  
Старый 13.12.2011, 23:35
Аватар для Livanderiaamarum
Профессор
Отправить личное сообщение для Livanderiaamarum Посмотреть профиль Найти все сообщения от Livanderiaamarum
 
Регистрация: 10.12.2011
Сообщений: 290

Сообщение от dmitriymar Посмотреть сообщение
Livanderiaamarum,
решение я тебе написал -не думаю что ты смог найти подобное решение
если площадь 2х из получившихся равна 0 то точка лежит на одной из линий ограничивающих фигуру
прости меня конечно бренного, но как ты будешь считать площадь само пересекающейся фигуры? я тоже думал вначале векторами сделать потом подумал что не вариант. Потому думал в сторону фракталов, но тоже сложно как то. потом сидел чертил на листке.и кое что заметил)
Ответить с цитированием
  #9 (permalink)  
Старый 13.12.2011, 23:36
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от Livanderiaamarum
МНЕ тратить время? я эту задачу уже решил! седня за 3 часа написал)
были бы знания ушлобы гораздо меньше времени
Сообщение от Livanderiaamarum
Кому интересно и у кого уровень позволяет тот может попробовать.
и не интересно и уровень практически всех на форуме позволяет-ты не пуп земли и не Энштейн -разачарую
Ответить с цитированием
  #10 (permalink)  
Старый 13.12.2011, 23:38
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от Livanderiaamarum
прости меня конечно бренного, но как ты будешь считать площадь само пересекающейся фигуры?
парень я знаю координаты 4 вершин и 5 точки -дальше сплошная математика-определение длинны вектора зная координаты его начала и конца и теорема синусов/косинусов
а то что ты заметил-это примитивно-если точка не принадлежит фигуре-то длинны 3 векторов будут больше чем длинны 3х "прилежащих"(условно) к ним граней -на это ты потратил 3 часа?)-только это к параллелограмму только относится

Последний раз редактировалось dmitriymar, 13.12.2011 в 23:44.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
КАК ПРОВЕРИТЬ ПРИНАДЛЕЖНОСТЬ ТОЧКИ ПОЛИГОНУ Livanderiaamarum Общие вопросы Javascript 5 12.12.2011 17:46
Проверить принадлежность одного из родителей классу? debugx jQuery 1 26.08.2011 16:55
Первый Moscow JavaScript Meetup korenyushkin Общие вопросы Javascript 0 26.07.2011 15:23
Последние книги по JavaScript! monolithed Учебные материалы 7 26.10.2010 19:40
Выдвет ошибку JavaScript Ромио Opera, Safari и др. 4 21.10.2010 20:34