Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.02.17;
Скачать: CL | DM;

Вниз

Растеризация   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.021 c
4-1183827804
newones
2007-07-07 21:03
2008.02.17
Диалог выбора и создания папки


6-1175272306
Adventure
2007-03-30 20:31
2008.02.17
TCPClient через прокси...


1-1194517699
leonidus
2007-11-08 13:28
2008.02.17
Как определить версию Office установленного на машине?


2-1201195711
timekiller
2008-01-24 20:28
2008.02.17
Самообновления файла.exe


2-1199601939
vegarulez
2008-01-06 09:45
2008.02.17
Вопрос про память.