Текущий архив: 2006.10.29;
Скачать: CL | DM;
Вниз
Спрашивали на собеседовании... Найти похожие ветки
← →
Ketmar © (2006-10-04 20:21) [40]"агрегирование" -- это включение объекта в другой объект. обычно при помощи поля-переменной. %-) остальное додумай сам. %-))
← →
MeF Dei Corvi © (2006-10-04 20:22) [41]
> допускаются...
Гм. Ну можно попытаться триангулировать этот полигон и проверять принадлежность точки полученым треугольникам. Или разбить его на выпуклые. Что-то умное решение не придумывается :(
← →
Palladin © (2006-10-04 20:22) [42]
> ой. а потом это состыковывать? бр-р-р... common lisp, например,
> prolog, php и assembler. %-)
во блин... ну ты вспомнил... однажды что то на lisp"е решал задачку для знакомой (гы :) )...
конечно есть разумные ограничения для используемых инструментов :) например нет денег чтобы его купить :))
> [34] Сатир
фигасе чем... да всем... агрегация - включение сущности в состав другой и никакого отношения к наследованию абсолютно не имеет...
← →
Ketmar © (2006-10-04 20:24) [43]>[42] Palladin(c) 4-Oct-2006, 20:22
>во блин... ну ты вспомнил... однажды что то на
>lisp"е решал задачку для знакомой (гы :) )...
а что? прикольный язык. иногда пописываю.
>
>конечно есть разумные ограничения для
>используемых инструментов :) например нет денег
>чтобы его купить :))
а у меня свой лисп. на нём написан целый тетрис и текстовый редактор. %-) и всё -- public domain. %-)
← →
Джо © (2006-10-04 20:26) [44]> [38] Сатир (04.10.06 20:19)
>
> > Это простой вопрос, вообще-то.
>
> не спорю. но читал об этом только в одной книжке и потому
> не особо запомнилось.
> напомни, плиз:)
Ну, вот Кетмар напомнил. От себя, буквоеда эдакого, могу только добавить, что агрегирование и наследование ничего общего не имеют :)
← →
Джо © (2006-10-04 20:27) [45]> [43] Ketmar © (04.10.06 20:24)
> а у меня свой лисп. на нём написан целый тетрис и текстовый
> редактор. %-) и всё -- public domain. %-)
Компилятор или интерпретатор?
← →
Иксик © (2006-10-04 20:29) [46]А эта, оно возможно без виртуальной машины?
← →
Сатир (2006-10-04 20:29) [47]
> агрегирование и наследование ничего общего не имеют :)
вот это называется вопрос с подковыркой)))
← →
Palladin © (2006-10-04 20:30) [48]
> [43] Ketmar ©
да ептыть, какие проблемы :) если научишь свой lisp реализовывать интерфесы и компилировать dll без проблем милости просим...
и в связи с такими способностями у меня найдется очень очень много интересных низкоуровневых задачь... "гы-хы-хы" (C) bender... :)
← →
Джо © (2006-10-04 20:30) [49]> [46] Иксик © (04.10.06 20:29)
> А эта, оно возможно без виртуальной машины?
Что, Lisp или RTTI? :)
← →
Ketmar © (2006-10-04 20:37) [50]>[45] Джо(c) 4-Oct-2006, 20:27
>Компилятор или интерпретатор?
уомпилит в нечто, похожее на байт-код (хотя по сути это всё ещё лисповые списки), и иногда это даже оптимайзит. умеет делать модули/oop. %-)
>[48] Palladin(c) 4-Oct-2006, 20:30
>lisp реализовывать интерфесы
лениво. %-)
>и компилировать dll
запросто. собираем runtime как dll, прифигачеваем скомпиленый пул ресурсом -- и вперёд. %-)
>и в связи с такими способностями у меня найдется
>очень очень много интересных низкоуровневых
>задачь... "гы-хы-хы" (C) bender... :)
ну да. "инициатива наказуема" (ц) остальные отработают положеное -- и домой, а ты сиди, делай свой низкий уровень. %-))
← →
Palladin © (2006-10-04 20:44) [51]
> лениво. %-)
у чела оперделяется на уровне объяснения практики :)
> ну да. "инициатива наказуема" (ц) остальные отработают положеное
> -- и домой, а ты сиди, делай свой низкий уровень. %-))
ага... в точку :)
а остальные, кстати, нифига не домой. пока приложение не будет валиться при обращении к затронутой функциональности... да и низкоуровневое тестируется отдельно, так что чел может домой утопать гораздо раньше "высоких" :)
← →
DiamondShark © (2006-10-04 20:45) [52]
> и чем оно отличается от обычного наследования?
Встречный вопрос: а наследование бывает каким-либо кроме обычного?
← →
Ketmar © (2006-10-04 20:49) [53]>[52] DiamondShark(c) 4-Oct-2006, 20:45
>Встречный вопрос: а наследование бывает каким-
>либо кроме обычного?
множественным. или через анус. что, в принципе, одно и то же. %-)
← →
Ketmar © (2006-10-04 20:50) [54]>[51] Palladin(c) 4-Oct-2006, 20:44
>> лениво. %-)
>у чела оперделяется на уровне объяснения
>практики :)
ленивые пишут код так, чтобы потом как можно меньше его менять и отлаживать. чтобы, блин, работало железобетонно. потому что лень перерабатывать. %-)
← →
Palladin © (2006-10-04 20:53) [55]
> ленивые пишут код так, чтобы потом как можно меньше его
> менять и отлаживать. чтобы, блин, работало железобетонно.
> потому что лень перерабатывать. %-)
для "низких" это правило... для "высоких" наиутопическая архиутопия... :)
← →
Ketmar © (2006-10-04 20:58) [56]>[55] Palladin(c) 4-Oct-2006, 20:53
>для "низких" это правило... для "высоких"
>наиутопическая архиутопия... :)
ну, я про идеал и говорил... %-)
← →
Prohodil Mimo © (2006-10-04 21:46) [57]Palladin © (04.10.06 19:47) [19]
определить вхождение точки в n-угольник (опционально)
Определить самую левую вершину, самую правую, самую верхнюю и самую нижнюю.
После чего пустить 4 луча вверх, вниз, влево и вправо, пока он не достигнет самой крайней граници или не пересечётся с гранью. Если все 4 пересеклись, значит входит :о)
← →
Prohodil Mimo © (2006-10-04 21:47) [58]Prohodil Mimo © (04.10.06 21:46) [57]
хотя такой вариант не всегда прокатит, но можно и до ума довести :о)
← →
Джо © (2006-10-04 21:50) [59]> [58] Prohodil Mimo © (04.10.06 21:47)
> Prohodil Mimo © (04.10.06 21:46) [57]
>
> хотя такой вариант не всегда прокатит, но можно и до ума
> довести :о)
А зачем доводить? Если изначальный подход неверен... :о)
← →
Ketmar © (2006-10-04 21:52) [60]>[59] Джо(c) 4-Oct-2006, 21:50
>А зачем доводить? Если изначальный подход
>неверен... :о)
из мазохизма? %-)
← →
Джо © (2006-10-04 21:55) [61]> [60] Ketmar © (04.10.06 21:52)
> >А зачем доводить? Если изначальный подход
> >неверен... :о)
> из мазохизма? %-)
Разве что... А я бы лучше выспался... или напился. Чем неверные алгоритмы доводить до того, чтобы они выдавали псевдо-верные результаты :)
← →
Ketmar © (2006-10-04 21:56) [62]>[61] Джо(c) 4-Oct-2006, 21:55
я вот на одну контору писал тестовое задание -- построитель блок-схем. алгоритм был кривой, зато работал на их примерах. меня взяли. %-)
← →
Джо © (2006-10-04 21:57) [63]> [62] Ketmar © (04.10.06 21:56)
> >[61] Джо(c) 4-Oct-2006, 21:55
> я вот на одну контору писал тестовое задание -- построитель
> блок-схем. алгоритм был кривой, зато работал на их примерах.
> меня взяли. %-)
Неужели эта контора выкупила исходники у Димы? :)
← →
Petr V. Abramov © (2006-10-04 21:57) [64]> Какая связь между published, TPersistent и RTTI?
глубокая
все слова очень умные
связи никакой, т.к. published - ключевое слово, TPersistent - имя класса, а RTTI - фича
слово published здесь вообще лишнее, т.к. в нем нет буквы R
слово RTTI тоже лишнее, т.к целиком написано большими буквами
слово TPersistent тоже лишнее, т.к. published и RTTI лишние слова, и по этому признаку оно от них отличается.
← →
Джо © (2006-10-04 22:00) [65]TPersistent, кроме прочего — использует Upper Camel Case, в отличие от остальных слов :)
← →
Джо © (2006-10-04 22:01) [66]Тьху, даже не upper camel case, а как его? В общем, что-то из этой оперы :)
← →
saxon (2006-10-04 22:05) [67]Ну тогда RTTI - просто Upper Case, а published ваще ни какой Upper не использует - оно лишнее. :)
← →
Ketmar © (2006-10-04 22:05) [68]>[63] Джо(c) 4-Oct-2006, 21:57
>Неужели эта контора выкупила исходники у Димы? :)
хуже. они посчитали мои написаными нормально. %-)
← →
Джо © (2006-10-04 22:09) [69]> [68] Ketmar © (04.10.06 22:05)
> >[63] Джо(c) 4-Oct-2006, 21:57
> >Неужели эта контора выкупила исходники у Димы? :)
> хуже. они посчитали мои написаными нормально. %-)
Вай, что делается, что делается... [качаю головой]. :))
← →
Ketmar © (2006-10-04 22:12) [70]>[69] Джо(c) 4-Oct-2006, 22:09
>Вай, что делается, что делается... [качаю
>головой]. :))
всё было ещё хуже: они меня на работу взяли. %-)
← →
Джо © (2006-10-04 22:14) [71]> [70] Ketmar © (04.10.06 22:12)
> >[69] Джо(c) 4-Oct-2006, 22:09
> >Вай, что делается, что делается... [качаю
> >головой]. :))
> всё было ещё хуже: они меня на работу взяли. %-)
Это, простите, вообще ни в какие ворота! ;-)
← →
Prohodil Mimo © (2006-10-04 22:17) [72]хотите сказать, что если точка находится внутри многоугольника, все пущенные от неё лучи не достигнут граней?
← →
Ketmar © (2006-10-04 22:17) [73]>[71] Джо(c) 4-Oct-2006, 22:14
>Это, простите, вообще ни в какие ворота! ;-)
на я их спас: быстро уволился. %-)
← →
Джо © (2006-10-04 22:29) [74]> [72] Prohodil Mimo © (04.10.06 22:17)
> хотите сказать, что если точка находится внутри многоугольника,
> все пущенные от неё лучи не достигнут граней?
Нет, хочу сказать, что то, что луч достигнет грани еще ничего не означает:
http://www.unclejoe.ho.com.ua/img/poly.PNG
;)
← →
wl © (2006-10-04 22:36) [75]>3. определить вхождение точки в n-угольник (опционально)
я бы стал решать такую задачу геометрически - нарисовать многоугольник, закрасить цветом, отличным от цвета фона, после чего проверить цвет в нужной точке - если совпадает с цветом фона не попадает
← →
Prohodil Mimo © (2006-10-04 22:46) [76]Джо © (04.10.06 22:29) [74]
А вот это я и имел в виду во втором своём посте.
вот вам второй вариант: определяем точку за пределами многоугольника и пытаемся из первой точки прийти к нему (встретив препятствие - обходим его). Если не удалось, значит мы внутри. :о)
ЗЫ. бредовых идей у меня много, и все их можно заставить работать, даже, если через одно место :о)
← →
Чапаев © (2006-10-04 22:50) [77]> а вот это с ходу не решу. потому что лениво формулы вспоминать.
А я бы CreatePolygonRgn()+PtInRgn()... ;-)
← →
Ketmar © (2006-10-04 22:57) [78]>[77] Чапаев(c) 4-Oct-2006, 22:50
>А я бы CreatePolygonRgn()+PtInRgn()... ;-)
неинтересно. так кто угодно может. %-)
← →
Чапаев © (2006-10-04 22:57) [79]Кто угодно может, да не кто угодно вспомнит вовремя... ;-)
← →
atruhin © (2006-10-04 22:58) [80]Треугольник.
Решение сводится к алгоритмам выхода из лабиринта. Например:
1. Вычисляем описывающую область (прямоугольник).
2. Находим ближайшее ребро.
3. Двигаемся по векторам (ребрам), пока не достигнем вершины принадлежащей многоугольнику и описывающей области.
4. Проверяем с какой стороны свободное пространство и вектор. Если с одной стороны, точка внутри.
Страницы: 1 2 3 вся ветка
Текущий архив: 2006.10.29;
Скачать: CL | DM;
Память: 0.61 MB
Время: 0.04 c