Алгоритм мозаичного (масштабируемого) стекирования

Вот в чем проблема. У меня есть прямоугольный холст размером 1. Итак, у него есть система координат (0,0 ... 1,0 - x и 0,0 ... 1,0 - y).

У меня также есть несколько плиток. Плитка тоже прямоугольная. C #)?

* Я пробовал это.

1) Я вычислил площадь плитки, затем я вычислил сумму площадей плитки (например: у меня две плитки, одна имеет площадь 2, другая площадь 1, их это означает, что у меня общая сумма 3)

2) затем я вычисляю, какую «долю» каждая плитка имеет в «общей сумме площадей» (например: 2/3 и 1/3)

3) затем рассчитать размер прямоугольного тайла с помощью Math.sqrt (x) (например: Math.sqrt (2/3))

4) затем нарисовать тайл один за другим ...

Но это не всегда работает. Иногда я получаю плитки вне холста .. *

8
задан obenjiro 15 March 2011 в 18:58
поделиться