Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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.155 c
15-1200640786
oxffff
2008-01-18 10:19
2008.02.17
Доведем DPL до кипения от Allen Bauer - The Oracle at Delphi


2-1200977987
Skyle
2008-01-22 07:59
2008.02.17
Коллизия имён функций. Общий вопрос.


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


2-1201126816
SveTT
2008-01-24 01:20
2008.02.17
Закладка при выполнении SQL


15-1200660668
Bless
2008-01-18 15:51
2008.02.17
Почему "тренЕр", но "тренИровка"





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский