ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
3 декабря
900603 Топик полностью
fk0, легенда (31.01.2019 12:06, просмотров: 470) ответил whale2 на рисует конусами, ширина конуса соответствует углу луча, чем дальше тем ниже разрешение полюбому
Конусами? OpenGL что ли? Скорей таки треугольниками. Вот я про то и говорю, что на краю окружности у тебя возникают квадратности, а ближе к центру творится беспредел -- ибо согласно алгоритму брезенхема очередная точка либо попадёт в треугольник, либо нет. И там половина точек по три раза перекрашена за круг -- потеря информации. Это на самом деле ни в какие ворота. Там целая вражеская подводная лодка может спрятаться, а ты её не увидишь, потому, что вот так брезенхем неудачно нарисовал. По идее нужно каким-то алгоритмом полярную систему координат трансформировать в прямоугольную, и потом одним махом отрисовать (весь экран -- да, накладно для мелкого компа, перерисовывать экран вместо луча). Либо каким-то аддитивным алгоритмом, который уже бы учитывал нарисованные точки. Например перед зелёным лучём чтоб так же крутился чёрный сектор (треугольник), который бы тупо всё стирал. Потом шёл бы зелёный луч и рисовал строго аддитивно: да середина экрана будет засвечена сильно ярче, видимо придётся перед отрисовкой точки домножать её интенсивность на некий коэффициент обратно пропорциональный плотности точек и квадрату расстояния от центра. Но с этими коэффициентами уже кажется проще экран перерисовать целиком. Вопрос что делать с разной плотностью точек после трансформирования системы координат. После транформации с ними работать неудобно, лучше заранее так же домножить на коэффициент. Тогда с яркостью в центре нормально, но на краях промежутки между точками. Если сглаживать, то картинка будет мутная. Наверное лучше квадратные точки, но вопрос как их увеличить. Пойти по обратному алгоритму, не для каждой точки в полярной системе перенести её на плоскость, а наборот, для каждой точки плоскости найти соответствующие полярные (с краю будет одна, а в центре -- множество) и посчитать их среднее арифметическое. Нет, всё равно не годится: в центре вражескую подлодку будет плохо видно. Лучше брать максимум вместо среднего. Тогда лодка хоть и нарисуется больших размеров чем есть, но будет видна. Это для радаров. А для рыболовства можно и среднее.
[ZX]