Главная страница
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.022 c
2-1200997632
Gasper
2008-01-22 13:27
2008.02.17
Киррилица


2-1201203089
AntonUSAnoV
2008-01-24 22:31
2008.02.17
фильтрую....


15-1200497600
_Shuler_
2008-01-16 18:33
2008.02.17
Language_default


4-1183687219
AlexanderMS
2007-07-06 06:00
2008.02.17
Стиль элементов управления.


15-1200227591
Lip
2008-01-13 15:33
2008.02.17
Как проверить введенное число в С