LINUX.ORG.RU
Ответ на: комментарий от Eddy_Em

Берёшь и описываешь как ты представляешь своё зеркало, во что ты дискретизовал? Это же набор чисилок - как он представлен. И т.д.

Ты понимаешь, что если я бы знал оптимальный алгоритм, я бы и сам код написал?

Не написал бы. Это невозможно априори, пока ты городишь такую ахинею.

Только так, как она уже написана.

Нет. Код это уже реализация и к представлению он не имеет никакого отношения.

Читать тонну сопровождающей математики тебе лень, а без нее эту задачу не решить.

Ну какбэ ещё раз, на чем основано твоё «нерешить», лишь на твоём балабольстве.

Математика тут не причём - у тебя есть задача - ты транслируешь её в сишные и железячные абстракции и тут уже нет математики. Она есть лишь в твоей голове - в коде её нет.

Тут уже есть данные и операции, вот сведи свою задачу к данным и набору инструкций над этими данными. Только уже не в конечной реализации, а в абстрактной.

Без понятия, не интересовался.

Т.е. ты просто так балаболишь про цпу и про гпу, при этом о них и о своём коде нихрена не зная? В этом весь эдик.

Почему ты не хочешь потратить 30минут времени и подумать? И сформулировать задачу? Это так сложно?

TrueTsar1C
() автор топика
Ответ на: комментарий от int13h

OpenBSD

Portable UNIX vs. Царь ... нет, не нужны там такие. ;)

beastie ★★★★★
()
Ответ на: комментарий от TrueTsar1C

Почему ты не хочешь потратить 30минут времени и подумать? И сформулировать задачу? Это так сложно?

Потому что это в 30 минут не уложить! У меня только в ЖЖшке 19 заметок по этому поводу!

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от beastie

Я конечно понимаю, что иксперт, который написал бенчмарк строк с оверхедом 1000% - т.е. время самого измеряемого процесса влияет только на 10% результата. 100% знает сишку.

Я конечно понимаю, что експерт этот только и может, что тереть меня и мои разоблачающие патчи.

Мало того, что это «царь» C не знатет

А можно мне пруфец твоей компетентности, чтобы делать такие заявления? Или только балаболить?

TrueTsar1C
() автор топика
Ответ на: комментарий от TrueTsar1C

Дорогой Суперкаккиллер, будь ты хоть семь пядий во лбу, но пока ты не научишься общаться с другими с уважением и не с высока, все твои супер-пупер-оптимизации (которые впочем такми не являются) никому и задаром не сдались.

Приводить я тебе ничего не буду. Ты и так уже на весь ЛОР не один раз обделался.

Ты не понимаешь одной важной вещи — всё крутится вокруг кооперации, а не противопоставления себя другим.

Я не бог C и никогда это не утверждал. Но мои тулзы и патчи решают свои конкретные задачи. И довольно таки успешно. А что сделал ты для Хип-Хопа, Царь неучей?

beastie ★★★★★
()
Ответ на: комментарий от Eddy_Em

Потому что это в 30 минут не уложить!

Уложишь.

У меня только в ЖЖшке 19 заметок по этому поводу!

Твои заметки не по этому поводу, почему ты можешь этого понять. Это так сложно?

Декомпозиция «волнового фронта» выполняется просто: в пределах заданной степени полиномов Цернике производятся итерации по вычислению очередного коэффициента. При этом произведение величины «фронта» в данной точки на величину полинома делится на нормирующий коэффициент (чтобы учесть дискретность). Здесь же вычисляется максимальный номер ненулевого коэффициента. Для того, чтобы упростить вычисления (т.е. уменьшить коэффициенты высших степеней), я использовал промежуточное изображение, в которое копировалось изначальное, а затем на каждой итерации из него вычиталось произведение текущего полинома на текущий коэффициент. Вот и сама функция:

/**
 * Calculate value of Zernike polynomial on rectangle matrix WxH pixels
 * Center of matrix will be zero point
 * Scale will be set by max(W/2,H/2)
 * @param n - order of polynomial (max: 100!)
 * @param m - angular parameter of polynomial
 * @param W - width of output array
 * @param H - height of output array
 * @param norm (o) - (if !NULL) normalize factor
 * @return NULL-terminated array of Zernike polynomials on given matrix
 */
double *zernfunR(int n, int m, int W, int H, double *norm){
	double Z = 0., *Zarr = NULL;
	bool erparm = false;
	if(W < 2 || H < 2)
		errx(1, "Sizes of matrix must be > 2!");
	if(n > 100)
		errx(1, "Order of Zernike polynomial must be <= 100!");
	if(n < 0) erparm = true;
	if(n < iabs(m)) erparm = true; // |m| must be <= n
	int d = n - m;
	if(d % 2) erparm = true; // n-m must differ by a prod of 2
	if(erparm)
		errx(1, "Wrong parameters of Zernike polynomial (%d, %d)", n, m);
	if(!FK) build_factorial();
	double Xc = (W - 1.) / 2., Yc = (H - 1.) / 2., Rnorm = fmax(Xc, Yc); // coordinate of circle's middle
	int i, j, k, m_abs = iabs(m), iup = (n-m_abs)/2, N = n+1, w = (W+1)/2, h = (H+1)/2, S=w*h;
	double **Rpow = MALLOC(double*, N); // powers of R
	Rpow[0] = MALLOC(double, S);
	for(j = 0; j < S; j++) Rpow[0][j] = 1.; // zero's power
	double *R = MALLOC(double, S);
	// first - fill array of R
	double xstart = (W%2) ? 0. : 0.5, ystart = (H%2) ? 0. : 0.5;
	for(j = 0; j < h; j++){
		double *pt = &R[j*w], x, ww = w;
		for(x = xstart; x < ww; x++, pt++){
			double yy = (j + ystart)/Rnorm, xx = x/Rnorm;
			*pt = sqrt(xx*xx+yy*yy);
		}
	}
	for(i = 1; i < N; i++){ // Rpow - is quater I of cartesian coordinates ('cause other are fully simmetrical)
		Rpow[i] = MALLOC(double, S);
		double *rp = Rpow[i], *rpo = Rpow[i-1];
		for(j = 0; j < h; j++){
			int idx = j*w;
			double *pt = &rp[idx], *pto = &rpo[idx], *r = &R[idx];
			for(k = 0; k < w; k++, pt++, pto++, r++)
				*pt = (*pto) * (*r); // R^{n+1} = R^n * R
		}
	}
	int SS = W * H;
	// now fill output matrix
	Zarr = MALLOC(double, SS); // output matrix W*H pixels
	double ZSum = 0.;
	for(j = 0; j < H; j++){
		double *Zptr = &Zarr[j*W];
		double Ryd = fabs(j - Yc);
		int Ry = w * (int)Ryd; // Y coordinate on R matrix
		for(i = 0; i < W; i++, Zptr++){
			Z = 0.;
			double Rxd = fabs(i - Xc);
			int Ridx = Ry + (int)Rxd; // coordinate on R matrix
			if(R[Ridx] > 1.) continue; // throw out points with R>1
			// calculate R_n^m
			for(k = 0; k <= iup; k++){ // Sum
				double z = (1. - 2. * (k % 2)) * FK[n - k]        //       (-1)^k * (n-k)!
					/(//----------------------------------- -----   -------------------------------
						FK[k]*FK[(n+m_abs)/2-k]*FK[(n-m_abs)/2-k] // k!((n+|m|)/2-k)!((n-|m|)/2-k)!
					);
				Z += z * Rpow[n-2*k][Ridx];  // *R^{n-2k}
			}
			// normalize
			double eps_m = (m) ? 1. : 2.;
			Z *= sqrt((double)(n+1) / M_PI / eps_m);
			double theta = atan2(j - Yc, i - Xc);
			// multiply to angular function:
			if(m){
				if(m > 0)
					Z *= cos(theta*(double)m_abs);
				else
					Z *= sin(theta*(double)m_abs);
			}
			*Zptr = Z;
			ZSum += Z*Z;
		}
	}
	if(norm) *norm = ZSum;
	// free unneeded memory
	FREE(R);
	for(i = 0; i < N; i++) FREE(Rpow[i]);
	FREE(Rpow);
	return Zarr;
}

Вот твоя портянка - давай попытайся объяснить, что ты ей делаешь.

Представь в графическом виде твои массивчики, которые ты там обходишь. Напиши формулу каждого елемента. Давай начнём с R.

TrueTsar1C
() автор топика
Ответ на: комментарий от beastie

Приводить я тебе ничего не буду.

Естественно, ибо не можешь. Всё просто.

Ты и так уже на весь ЛОР не один раз обделался.

И где и как я обделался ты конечно же не покажешь, я правильно понимаю?

А вот в отличии от рандомного балабола я могу конкретно привести пример, где обосрался ты. Пример полной и тотальной некомпентности.

https://github.com/dim13/lor-contest

             nop .................... fail     9.89 ms//пустая функция 10мс
          cutout .................... pass    12.84 ms//т.е. не пустая функция на 25% медленнее непустой - куллбенчи.
     cutout_orig .................... pass    18.00 ms
         undebug .................... pass    18.18 ms
           split .................... fail    22.23 ms
         wipeout .................... pass    13.90 ms
       delsubstr .................... fail    34.41 ms
         process .................... pass    13.78 ms
          strdel .................... pass    12.78 ms
          remove .................... pass    22.12 ms
     wordstrings .................... pass    14.26 ms

Что самое интересное ноопа сначала не было и ты его добавил после, не забыв предварительно потереть меня.

TrueTsar1C
() автор топика
Ответ на: комментарий от TrueTsar1C

Вот твоя портянка - давай попытайся объяснить, что ты ей делаешь.

Перед портянкой с кодом был текст, в котором все объяснялось. Элементарно же: общепринято волновой фронт представлять как набор коэффициентов Цернике, а т.к. в методе Гартманна (да и Шака-Гартманна) у нас не скалярное поле, а векторное, то нужно найти ортонормированные на круге (а еще лучше — кольце) полиномы, которые простой линейной комбинацией позволят вычислить градиенты полиномов Цернике (на сами градиенты мы не можем векторное поле аппроксимировать, т.к. градиенты полиномов Цернике не являются ортонормированными даже на круге!).

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от TrueTsar1C

Мне?

Не, мне ничё не надо, ты спросил, я ответил.

pon4ik ★★★★★
()
Ответ на: комментарий от TrueTsar1C

То, что твоя «быстрая» функция не выполняет условия конкурса, ты конечно опустил, так же как и то, что есть и другая, быстрее твоей. ;) Ню-ню. (Из твоего же примера, конкретно сейчас не смотрел, но помню, то у тебя было только частичное, специальное решение, не удовлетворяющее условиям.)

Для не следующих ТС — это был Crab.

PS: в общем, дорогой мой, таких, как ты ссаными тряпками гнать надо. Обосрася и права качаешь. Все участвовали на одинаковых условиях. You — fail. Fullstop.

beastie ★★★★★
()
Последнее исправление: beastie (всего исправлений: 5)
Ответ на: комментарий от post-factum

Да насрать на стиль — лишь бы работало. Ты покопайся в моих велосипедах на гитхабе — там же везде говно! Зато работает, а больше ничего и не надо!

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от post-factum

Хоть стиль и гуано, но должен отдать честь Эдди — любое решение хорошо настолько, насколько оно выполняет задачу. А над стилем да, поработать надо.

beastie ★★★★★
()
Ответ на: комментарий от beastie

Т.е. ответить нечего - ещё один раз обосрался.

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

То, что твоя «быстрая» функция не выполняет условия конкурса

Ну вот зачем ты начинаешь? У тебя нет никаких шансов меня переспорить, ну не дано, понимаешь?

Из твоего же примера, конкретно сейчас не смотрел, но помню, то у тебя было только частичное, специальное решение, не удовлетворяющее условиям.

Ты понимаешь, что моя память и твоя находятся в разных весовых категориях?

В отличии от рандомных балаболов я помню всё, и когда я что-то говорю я учитываю всё то, что я говорил и то, что было раньше.

Когда пацан не помнит за что меня забанил и потёр - это так мило и хочет это сделать ещё раз.

Обосрася и права качаешь.

И где я обосрался ты мне не покажешь?

Все участвовали на одинаковых условиях.

Причем тут участвовали? Зачем ты пытаешься юлить - проблема не в участии - проблема в том, что ты написал не бенчмарк, а говно.

Причем тут конкурс, причем тут участие?

Тебя в лужу помакать или не надо? Там про условия, про быстрее? Или мне сделать вид, что ты этого не говорил?

TrueTsar1C
() автор топика
Ответ на: комментарий от TrueTsar1C

ЛОР уныл из-за таких вот петухоцарьков в том числе :(.

post-factum ★★★★★
()
Ответ на: комментарий от TrueTsar1C

это нужно тебе, а не мне.

Ты же задачу выпрашиваешь, значит нужно тебе.

i-rinat ★★★★★
()
Ответ на: комментарий от Eddy_Em

Потому что это в 30 минут не уложить! У меня только в ЖЖшке 19 заметок по этому поводу!

Эдди, это чудовищный непрофессионализм как ученого с твоей стороны. Это я тебе как профессионал(в прошлом) говорю, более того, как человек считавший оптические задачи используя MPI. Практически любое ТЗ для гораздо более сложных формул обычно умещается в одной страничке латеха/lyx'а .

Грубо говоря тебе надо парой абзацев описать начальные данные и твои два задачи. Грубо говоря есть зеркало, оно отражает и тп. Есть матрица искажений зеркала, она задает вот такие вещи. Прямая: матрица искажений зеркала, от балды m_(i,j) , затем куча формул которые из m_(i,j) выводят r_(i,j).

Обратная - находим стандартными алгоритмами поиска минимума (gnu science library, хз что там у вас модно) минимум от невязки r_(i,j) с заданной R_(i,j), то есть вот формула , надо ее минимум.

kernel ★★☆
()
Ответ на: комментарий от kernel

Практически любое ТЗ для гораздо более сложных формул обычно умещается в одной страничке латеха/lyx'а.

Да я уже выше наполовину рассказал.

Грубо говоря тебе надо парой абзацев описать начальные данные и твои два задачи.

Могу повторить. Итак, у нас есть реальное зеркало, которое сейчас будут алюминировать и после алюминирования нужно будет его правильно съюстировать (эту задачу решу) и определить: а) насколько улучшился коэффициент отражения по участкам зеркала (несложная задача), б) не ухудшилось ли качество поверхности (тут затык). Пока что б) не нужен, т.к. "вот-вот" нам должны старое новое зеркало привезти (правда, с каждым годом надежд все меньше).

Ну, а основной задачей является восстановление формы поверхности реального зеркала по результатам косвенных методов: классического Гартманна и Шака-Гартманна. Со вторым способом математика элементарная, но хитрая фильтрация бликов (с этим разберемся, как командируем сюда одного-двух иплитовцев), а вот с первым...

Ну и вот, я сделал несколько методов, вроде бы даже что-то вполне неплохо считающих. Но мне нужно проверить, какой из них наилучшим способом для нашей задачи подходит. Для этого сделал модель, которая просто накладывает на поверхность идеального зеркала (параболоид) заданные матрицей отклонения. Потом трассируются лучи (тупая геометрическая оптика) и моделируется получение пред- и зафокальных снимков через гартманновскую маску. Вот эта модель тормозит жестоко.

Ну и с обратным тоже затык: то ли лыжи не едут...

Насчет кучи формул — все формулы у меня в ЖЖшке есть. Плюс я царю выслал компиляцию всей этой писанины.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Да я уже выше наполовину рассказал.

То что ты рассказал неюзабельно, есличо. Пойми, нормальный физик тем и отличается от всякого г., что может поставить задачу в том числе «идиоту». А надо ставить задачу именно «идиоту» потому что местные росийские понты на тему того что ученый должен говорить непонятно - говно собачье.

Грубо говоря тебе надо парой абзацев описать начальные данные и твои два задачи.

Могу повторить.

Не умеешь ты повторять...

Ну, а основной задачей является восстановление формы поверхности...

Уже лучше.

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

Опять непонятно. Ты сделал софт реализуюший метод восстановления формы зеркала «по гармановским снимкам» и другим, потом сделал моделирование «телескопа» трассировкой лучей и теперь сравниваешь?

Для этого сделал модель, которая просто накладывает на поверхность идеального зеркала (параболоид) заданные матрицей отклонения. Потом трассируются лучи (тупая геометрическая оптика) и моделируется получение пред- и зафокальных снимков через гартманновскую маску. Вот эта модель тормозит жестоко.

Это я понял. Но у тебя этого понятно не написано.

inb4
а) расчет оптических схем это отдельная область науки. Там реально дофига всего придумали. Ты как действующий специалист должен мочь нагуглить соответствующие журналы. Искать по словам «компьютерная оптика», емнип.

б) российские HPC кластеры - простаивают. Что конечно пытаются скрыть в отчетах путем запуска «вечных» задач, но ты понел. У тебя задача идеально подходящая под них, вы институт РАН или что-то в этом духе, задача паралелится на всех уровнях, 250x250 точек это вообще не смешите мои тапочки.

Короче твоя задача это стандартная задача для MPI кластера, это твой инструмент.

Ну и с обратным тоже затык: то ли лыжи не едут...

Ты же написал «я сделал несколько методов»?

Ты сделал задачу «светим специально подобранным светом на искаженное зеркало и получаем фотографию результата.». Что еще ты сделал?

Насчет кучи формул — все формулы у меня в ЖЖшке есть.

Это понты. Гнилые.

Плюс я царю выслал компиляцию всей этой писанины.

Почему это не выложено по http://чтототам в виде pdf и латеха а ссылки на это не лежит в первом твоем сообщении?

kernel ★★☆
()
Последнее исправление: kernel (всего исправлений: 1)
Ответ на: комментарий от kernel

Ты сделал софт реализуюший метод восстановления формы зеркала «по гармановским снимкам»

Несколько вариантов. Каждый по-своему говнист. Универсального нет.

потом сделал моделирование «телескопа» трассировкой лучей и теперь сравниваешь?

Да. Вместо реальных данных беру модельные, обрабатываю и в итоге должен (по идее) получить то, что задал на входе. А получаю хрень какую-то.

расчет оптических схем это отдельная область науки.

Мне в общем смысле ничего рассчитывать не надо.

российские HPC кластеры - простаивают

Ну и черт с ними.

Ты же написал «я сделал несколько методов»?

Ага, но чувствую, где-то косяк у меня. Скорее всего, неправильно считаю наклоны волновых фронтов. Бывает у меня такое: какую-нибудь мелочь упущу, а потом полгода ищу, где косяк.

Это понты. Гнилые.

Не хочешь читать? Ну так не читай, не заставляю.

Почему это не выложено по http://чтототам в виде pdf и латеха а ссылки на это не лежит в первом твоем сообщении?

Потому что недоделано до ума. Выложу, когда будет готово — будет 2-3 статьи на arxive

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Deleted

войс с шифрованием

Мне не нужно никакое шифрования и я на это не подписывался. Вы там развели какую-то херню.

улучшение кодека H.265

Это какого? x265 мёртв, теорию я не знаю. Я спрашивал того, кто это предлагал - я могу просто брать и оптимизировать функции?, но мне никто и ничего не ответил.

Я там посмотрел - вроде там всё уже и без меня запилено, а что-то реализовывать я не осилю, ибо я нихрена не знаю, а карпеть и разбираться ради мертвичины мне лень.

TrueTsar1C
() автор топика
Ответ на: комментарий от Eddy_Em

Ты сделал софт реализуюший метод восстановления формы зеркала «по гармановским снимкам»

Несколько вариантов. Каждый по-своему говнист. Универсального нет.

Оукей.

Тогда вопрос. Ты уверен что они корректные? Почему ты в этом уверен? То есть у тебя есть массив тестовых данных и твои программы им реально соответствуют?

потом сделал моделирование «телескопа» трассировкой лучей и теперь сравниваешь?

Да. Вместо реальных данных беру модельные, обрабатываю и в итоге должен (по идее) получить то, что задал на входе. А получаю хрень какую-то.

расчет оптических схем это отдельная область науки.

Мне в общем смысле ничего рассчитывать не надо.

То что ты делаешь - это расчет оптических схем. Внезапно. Это вот так называется. Придумано полно методов/алгоритмов как это все считать оптимально.

То есть ответ на твой вопрос «у миня тормозит» есть в соответствующих журналах.

российские HPC кластеры - простаивают

Ну и черт с ними.

Если они простаивают, значит ты можешь пойти и посчитать там твои задачи. И решить проблему.

Тупо ищешь в инете либо сайты с «как посчитать на нашем кластере» либо емылы ответственных. Получаешь ssh логин и все считаешь.

Ага, но чувствую, где-то косяк у меня. Скорее всего, неправильно считаю наклоны волновых фронтов. Бывает у меня такое: какую-нибудь мелочь упущу, а потом полгода ищу, где косяк.

Это у всех так, это по сути основная проблема написания расчетных программ. То есть если у тебя нет стапятсот тестов тестирующих правильность вычисления разных функций и всех возможных случаев - ты *100%* *написал* *полную* *чушь*. Это тебе не тупое классическое прикладное программирование где все сразу видно: либо сегфолт/еррор, либо все работает.

Соответственно вопрос - а как ты тестируешь корректность твоих программ расчета восстановления зеркала. У тебя есть тестовые резултьтаты? Упрощенные случаи? Вообще что у тебя тут есть?

Это понты. Гнилые.

Не хочешь читать? Ну так не читай, не заставляю.

Я тебе говорю что ты ориентирован не на результат(проконтролировать зеркало), а на понты «смотрите никто не понимает что я пишу, мое ЧСВ почесано».

Эдди, это говно собачье.

Почему это не выложено по http://чтототам в виде pdf и латеха а ссылки на это не лежит в первом твоем сообщении?

Потому что недоделано до ума. Выложу, когда будет готово — будет 2-3 статьи на arxive

Не надо статьи. Надо ТЗ для людей которые кодят маталгоритмы. Которое статьей в российском журнале не будет от слова никогда. Потому что требования принципиально разные.

Тогда такие люди смогут прочитать какие формулы ты закодил и предложить более оптимальные решения. Или более оптимальные формулы.

kernel ★★☆
()
Ответ на: комментарий от kernel

Ты уверен что они корректные?

Ептить! Зачем, по-твоему, я велосипедил модель «кривого зеркала»? Как раз для того, чтобы проверить, насколько точно форма поверхности восстанавливается! Моделька простые испытания прошла (т.е. на вход подаем матрицы аберраций, вызывающих заведомо известный результат, получаем то, что ожидаем). А вот обратка — хрен!

То что ты делаешь - это расчет оптических схем.

То, что я делаю — элементарщина жутчайшая! Это не земакс, который кучу поверхностей высчитывает, да еще и многомерную подгонку умеет...

Придумано полно методов/алгоритмов как это все считать оптимально.

И что с того? Их реализация — это отдельная дохтурская! И никто, к сожалению, реализации в свободный доступ не выкладывал! Только всякие «земаксы» за денежку.

Если они простаивают, значит ты можешь пойти и посчитать там твои задачи

Для начала надо хотя бы с минимумом управиться — чтобы задача была корректной. А не косячной. А там уж при желании можно будет и попроситься.

Соответственно вопрос - а как ты тестируешь корректность твоих программ расчета восстановления зеркала.

Моделями тестирую.

Надо ТЗ для людей которые кодят маталгоритмы.

Это примерно 10-15 страниц с формулами и картинками. И ТЗ я только для себя умею писать. Если я напишу ТЗ для «человека с улицы», то это будет означать, что я сперва сам должен полностью понять проблему и решить ее. А коли решу, то нафиг мне человек с улицы?

А вообще, я на эту шнягу уже года 3 убил. Или 4. Не помню. Вот так припечет начальству — я недельку-другую посижу вплотную, потом по 1-2 вечера в неделю, а потом вообще забиваю. и так каждый год ☺

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от TrueTsar1C

Дорогой мой, ты так же уныл, как всегда. Я даже не хочу на это всё отвечать.

проблема не в участии - проблема в том, что ты написал не бенчмарк, а говно.

Год прошёл, а ты грозился «завтра» сделать лучше. ГДЕ КОД, анскильная лалка?

В общем, ты мне надоел. Не вижу смысла дальше кормить балаболку. Sendepause.

beastie ★★★★★
()
Последнее исправление: beastie (всего исправлений: 1)
Ответ на: комментарий от beastie

Естественно не хочешь, ибо не можешь. Возможно ты даже почитал условия задачи и понял какую херню ты нёс, но это не суть.

Год прошёл, а ты грозился «завтра» сделать лучше. ГДЕ КОД, анскильная лалка?

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

Закрыто добавление комментариев для недавно зарегистрированных пользователей.

А зачем кто-то это сделал, ты мне не напомнишь?

TrueTsar1C
() автор топика
Ответ на: комментарий от Eddy_Em

Ептить! Зачем, по-твоему, я велосипедил модель «кривого зеркала»?

Откуда я знаю, ты же играешь в невинную жертву телепата - «ах угодайте что я думаю» :D

(ну уже хоть чтото)

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

Это где то кратко описано? Сколько разных матриц аберраций, какие аберрации? Насколько соответствует? Могут ли эти случаи не вылавливать глюки программы в плане неверности алгоритма?

А вот обратка — хрен!

Ты умеешь непонятно изъяснятся, этого - не отнять.

Поправь меня если я неправ: Грубо говоря у тебя есть несколько софтин (софтина N1.1, софтина N1.2 ...) восстанавливающие форму зеркала по данным. Они работают для известных простых случаев.

Однако если ты используешь программу N2.1(«рейтрейсинга») расчета изображений от искаженного зеркала с заданными параметрами искажений, то программы 1.1, 1.2,etc находят искажения зеркала неправильно?

Вопрос : твоя программа N2.1(рендер) для типичных известных искажений зеркала генерит правильные аберрации? То есть она проходит те же тестовые кейсы что 1.1,1.2 ? Грубо говоря - твой рендер правильный? Точно?

То есть если рендер генерит известные «матрицы аберраций», то есть известный набор картинок заданный известным искажением зеркала - находит ли твой софт эти искажения.

Если нет, то вопрос «в чем разница»?

То что ты делаешь - это расчет оптических схем.

То, что я делаю — элементарщина жутчайшая!

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

Придумано полно методов/алгоритмов как это все считать оптимально.

И что с того? Их реализация — это отдельная дохтурская! И никто, к сожалению, реализации в свободный доступ не выкладывал!

Гугли «компьютерная оптика». Найди там что тебе надо. Напиши соответствующему человеку в ВУЗ/институт РАН.

Для начала надо хотя бы с минимумом управиться — чтобы задача была корректной. А не косячной. А там уж при желании можно будет и попроситься.

Там у тебя часть проблемы скорее всего в том что проверка алгоритма требует большей точности, значит отладка скорее всего требует большей мощности.

То есть надо реализовывать алгоритм на MPI и просится уже сейчас. И/или реализовывать MPI кластер из машин в твоей организации. Я в свое время делал сетевую загрузку и по договоренности грузил линукс на ночь на машины сотрудников.

Моделями тестирую.

Насколько модели корректные? Грубо говоря есть люди кроме тебя которые тебя ревьювят, смотрят на твои графики где ты изображаешь числа входных и выходных тестовых данных и говорят, иа,иа, зер гут вальдемар?

Надо ТЗ для людей которые кодят маталгоритмы.

Это примерно 10-15 страниц с формулами и картинками.

Это ты путаешь ТЗ на софт со статьей в журнал.

Грубо говоря ТЗ это пара картинок и *конкретно* те формулы которые у тебя закожены в твоем софте. Без вывода блять, вывод в этом самом документе с 15ю страницами. Соответственно для другого софта - другое ТЗ.

И ТЗ я только для себя умею писать. Если я напишу ТЗ для «человека с улицы», то это будет означать, что я сперва сам должен полностью понять проблему и решить ее. А коли решу, то нафиг мне человек с улицы?

Это ты опять путаешь ТЗ с каким то воображаемым волшебным документом. ТЗ для программиста матобеспечения это картинка с обозначениями и «вот много формул, задающих Y=F(X), где X,Y многомерный массив. Напиши софт считающий F(X)»

А вообще, я на эту шнягу уже года 3 убил. Или 4. Не помню. Вот так припечет начальству — я недельку-другую посижу вплотную, потом по 1-2 вечера в неделю, а потом вообще забиваю. и так каждый год ☺

Да, мы все понимаем :D

kernel ★★☆
()
Последнее исправление: kernel (всего исправлений: 2)
Ответ на: комментарий от Eddy_Em

Сдается мне, что тип float был выбран неудачно. Надо попробовать с double (правда, прощай производительность!).

Прочитал это у тебя в ЖЖ :D

Эдди, ну это блин основы основ, азы - на float не работает практически никакой научный расчетный софт. Только double или выше. Старшее поколение ученых вообще любят всякие древние машины так как там порядка 128 бит лехко могло быть.

kernel ★★☆
()
Ответ на: комментарий от beastie

анскильная лалка

Двойные стандарты! Когда я этому быдлану предложил говна откушать, ты мое сообщение как оскорбление стёр. А сам, глазом не моргнув, царя анскильным называешь. Неужели ты считаешь, что его это задевает меньше, чем «быдлан»? Где справедливость?!

Manhunt ★★★★★
()
Последнее исправление: Manhunt (всего исправлений: 1)
Ответ на: комментарий от Pyzia

Нет. Я — простой мир-дверь-мяч. Но иногда, когда уже руки отваливаются флудить на ЛОРе, занимаюсь какими-нибудь бесполезными делами.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от post-factum

Стандартный стиль для научных работников, которым приходится что-то программировать :)

Это еще даже читабельно

Midael ★★★★★
()
Ответ на: комментарий от TrueTsar1C

Эту штуку, очень любят юзать разные конторки, которые хотят себе или на продажу nfs кластеризованный, только вот беда, что бы встроить туда любую приличную кластерную FS, надо написать бэк.

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

Если ты не знаешь, что такое posix стандарты и интерфейсы описанные там, то погугли, почитай какой нибудь man readdir там...

А линух онли решение я нашёл только под ядрышки 3.x, а хотели тогда пятый редхат. Но в любом случае хак это отстой.

Как по мне - задачка интересная и как раз на месяц, но раз твоя моя не понимайт, то уж ничего не попишешь. Интересы у всех разные.

pon4ik ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.