Форум: "Прочее";
Текущий архив: 2008.02.17;
Скачать: [xml.tar.bz2];
ВнизРастеризация Найти похожие ветки
← →
Dib@zol © (2008-01-18 19:11) [0]Ещё раз здравствуйте.
Сижу готовлюсь к областной по информатике. Видно слишком долго готовлюсь - тупить начал страшно :( Разбираю пример (ответов к сожалению нет):
Пол зала должен быть выложен квадратными плитками одинакового размера. Плитки двух цветов (черного и белого) и выкладываются так, чтобы образовался треугольник (с вершинами в углах-стыках плиток). Наибольшая трудность состоит в изготовлении плиток, часть которых должна быть чёрного, а часть белого цвета. Вам требуется подсчитать количество таких плиток (иначе говоря, определить, по скольким плиткам пройдут стороны треугольника).
Я так подумал-подумал и ничего лучше, чем каждую плитку представлять в виде уравнений её диагоналей, а затем искать их пересечение со стороной треугольника, не придумал.
Тык вот, внимание вопрос: как можно проще узнать сколько клеток "задевает" сторона треугольника? Ведь можно, знаю же. Только саму идею забыл :((
← →
Черный Шаман (2008-01-18 19:55) [1]
> Dib@zol © (18.01.08 19:11)
1. Нарисуй на Bitmap, через сканлайн-ы вытащи пикселы в матрицу. Посчитай. Если использовать graphics32 с AA то совсем просто, посчитать пискелы которые не черные и не белые.
Это если нужно бысро с паруй строчек и стандартными библиотеками, иначе
1. Рисуем три линии(алгоритм рисования линии) в матрице пикселов с учетом АА и далее просто подсчет пикселов которые не 255 и не 0.
← →
Lip (2008-01-18 20:15) [2]
> Черный Шаман
А че на олимпиадах уже рисовать можно?
← →
@!!ex © (2008-01-18 20:25) [3]> [2] Lip (18.01.08 20:15)
Всю жизнь можно было.
← →
DVM © (2008-01-18 21:21) [4]
> Dib@zol ©
Когда делается антиалиазинг, то степень прозрачности краевого пиксела (плитки) всегда равна площади трапеции (<1) образованной идеальной линией и сеткой из пикселов (плиток).
← →
DVM © (2008-01-18 21:21) [5]и ничего тут рисовать не надо, надо просто въехать в алгоритм антиалиазинга
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2008.02.17;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.043 c