24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
Реализовать на OpenCL вычисление объема тела, заданного набором треугольников его поверхности, и оценить разницу в быстродействии между решением этой задачи на основном процессоре и на процессорах видеокарты.
Какая адекватная цена за выполнение такой задачи? Планирую дать 3к.
>>97077751 Тогда от 100 баксов, я бы взялся за 150-200. >>97077744 Просто ты не занимался этой темой. Вот твой скоуп работ: 1. Формализовать задачу и найти методику подсчёта объёма тела. 2. Скорее всего там будет сплошная линейная алгебра с матрицами и кватернионами 3. Надо знать как работать с кривым поделием под названием OpenCL. Если бы первые две задачи были решены, то перевод готового алгоритма под OpenCL можно было бы давать 2-3к.
Блядь, дегенерат ебанный. Это же блядь OpenCL Как и любой другой Open%хуйнянейм% учится за неделю, если не совсем дебил Стоимость твоей задачки 10 баксов от силы Нахуй иди вообще, пес
>>97078018 похуй на опенцл. опиши хотябы наивно. допустим я начинаю с точки и просто складываю обьём образованой пирамидки при добавлении еще пары точек. но отсасываю потому что тело не выпуклое, как тут уже обьяснили.
окей, допустим я как то топологически разбиваю тело на кучу тел которые не пересекаются. тут уже вопрос как
But wait, if I add up all these tetrahedrons don’t I get a mess of overlapping volumes that go to the origin? Yes, but the key thing is that these volumes are signed, so they can be negative depending on the vertex winding. If my points go one way (v1->v2->v3) I get a positive volume and if they go the other way (v1->v3->v2) I get a negative volume
Бля вы шутите? Обычное интегрирование Монте-Карло: вписываете фигуру в куб, рандомно бросаете точки в куб и проверяете их вхождение в фигуру, потом из отношения полного числа точек и числа точек, попавших в фигуру, можно найти объем фигуры. Задача сама по себе простая, но с учетом того, что нужно использовать определённую технологию и то, что это таки курсач (нужно описать метод и все погрешности), то 3к - нормальная цена. У меня только такой вопрос - нахуй тебе это нужно в середине июля?
>>97078812 В первом посте, что-то похожее на площадь Но хуйня, если есть мешь 1. Берешь первый треугольник и любого из эго соседей. 2. Отсекаешь их, ищешь объем построенного по ним многоугольника(если он не пересекает остальных поликов) Отрезал? ГоТо 1
>>97078939 Я, тащемта, не понимаю как он всё придумал. Объём же это тройной интеграл по xyz, разве нет? Т.е. надо взять это всё по поверхности заданной треугольниками и проинтегрировать.
Интеграл дивергенции поля по объёму равен интегралу потока поля через поверхность. В качестве поля можно взять поле F=xi, или F=xi+yj+zk, дивергенция первого - 1, дивергенция второго - 3. В итоге интеграл дивергенции тупо равен объёму (или трём объёмам). Ну а поток поля через каждый треугольник элементарно посчитать.
замкнутая поверхность тела задана треугольниками, поэтому просто берем точку внутри тела, проводим прямые из этой точки к точкам, задающим треугольники - и теперь объем тела распадается на сумму объемов призм с треугольным основанием. формула там элементарная, точно не помню ее, но объем зависит от длины отрезка, проведенного из точки пересечения медиан треугольника, площади треугольника, и угла между этим отрезком и плоскостью треуголника.
>>97081429 тогда все сложнее. надо брать точки внутри тела, с их помощью разбивать тело на несвязные выпуклые куски. границы кусков - это тоже триангулизованные поверхности. внутри таких кусков надо брать внутренние точки и разбивать на призмы. для тора достаточно 2 точек для разбиения и 2 точек для вычисления объемов.
но не знаю, как для произвольной поверхности определить, на сколько кусков разбить. такое ощущение, что надо вычислить класс когомологий.
>>97081388 Как раз численный и надо использовать. Как ты это в буквах решишь? И скорость проца/видюхи считать надо, т.к. Монте-Карло прекрасно параллелится. И типа самому убедится что видюха - это круто.
>>97083567 Причем здесь математика? Обычная задачка на гпу программирование, которое сейчас изучается практически всеми - и физиками, и математиками, и программистами.
>>97083788 На stackoverflow смотрел? Даже там народ сложности с твоей задачкой имеет. Средний программер вообще не в курсах будет, что это, о чем и как решать. Так что со своими 3к пролетаешь. Чем больше скиллов надо и менее распространенна технология - тем выше цена.
>>97083958 Я предложивший метод монте карло (крайне элементарная хрень). Сложность в монте карло лишь в проверке, входит ли точка в фигуру или нет (тупая проверка проста, а быструю надо подсмотреть где-то). Это на самом деле несложная задачка, просто есть две технические трудности 1) опенцл, надо смотреть апи и вообще понимать специфику гпу 2) вышеописанная проблема. Я бы за 3к именно программу написал, но мне лень разбираться с опенцл.
>>97084102 Ну ёбана рот. Для тела, заданого треугольными гранями, объём посчитать как раз два три. Алгоритмов дохуя. Если есть метод трапеций в 2д, то похожий есть и в 3д.
>>97084256 Алгоритм проверки вхождения точки в тело. Выбираешь рандомной луч в пространстве из точки так, чтобы он заведомо не проходил через вершины и рёбра тела. Считаешь количество граней, которые пересёк луч. Если оно нечётно, то точка в фигуре, иначе нет. Проверка пересечения луча и грани тривиальна: пересекаешь луч и плоскость и смотришь, входить ли точка пересечения в грань.
Итак, диванные алгоритмисты из /б / предложили: 1. приближённый метод Монте-Карло 2. Считать через Остроградского - Гаусса По обоим пунктам они обосрались т.к. не смогли даже набросать алгоритм в псевдокоде.
>>97084261 Ну так такого спеца еще найти надо, обычно они уже плотно занятые и за 3к редко шарашат. А средний программер, каких тысячи, разбираться неделю будет.
Откуда столько даунов программиствов? В задаче не задана же минимальная погрешность - следовательно просто прикладываешь трехугольники к крайним точкам фигуры и элементарно смотришь, где плоскости пересекаются
Просто полигоны надо преобразовать в воксели. А потом посчитать воксели. Поэтому в условии задачи и стоит про решение на проце и видеокарте, время преобразования разное будет.
Лучший тред за все последнее время. В прямом эфире можно наблюдать, как все местные программисты с зарплатами 150к не могут решить университетскую задачку.
>>97085327 Вряд ли. Суть просто в том, что на видеокарте можно создать 10^6 параллельных тредов, каждый из которых будет считать 1/10^6 объема, чтобы потом просуммировать за ln(10^6) и получить полный объем. На проце, очевидно, треды будут не параллельные.
какие спецы че вы несёте блядь. компьютерная графика какаято. это обычные люди. какието 3к придумали себе. пиздец. рли должны быть какието чуваки которые на бис будут находить обьем ?
Если бы так просто было найти есть ли точка внутри то и обьем было бы просто найти.
Скорее всего решается вычетом из обьема треугольников. основная проблема чтобы они не пересекали уже отсечённую хуиту. А чтобы не пересекали надо наверное чтото типа сферы плавно сужающейся.
>>97085469 наверное потому что это не имеет отношения к программированию ? видел уже как олимпиадники пишут вебню. Нет времени разбираться с базами данных, поебать на конкурентность, хуяк хуяк дампаем стейт в файлик .
Ставим рандомную точку в центре фигуры и проводим циклом прямые линии во всех направлениях до границы. Считаем количество пикселов в каждой линии и суммируем. Сработает только, если все границы из этой точки видно, если бублик какой, то не пойдет уже.
>>97085193 держи, еба фигура в 4 трехугольниках. Растягигиваешь их, пока от крайних точек, пока плоскости не пересекутся. задача выполнена, на погрешность похуй
>>97077396 >Реализовать на OpenCL вычисление объема тела, заданного набором треугольников его поверхности, и оценить разницу в быстродействии между решением этой задачи на основном процессоре и на процессорах видеокарты. пидоры, задача в том, чтобы сравнить скорость работы на проце и гпу. поэтому принимаем, что поверхность - выпуклого тела, и решаем через пирамиды.
Какая адекватная цена за выполнение такой задачи? Планирую дать 3к.