![]() |
|
||||||||||
|
|||||
|
Регистрация: Jun 2008
Адрес: курский вокзал
Сообщений: 1,114
|
Все наверно знают,как с помощью маленьких кубиков собрать большой пвсевдо 3D куб,или параллепипед,или призму,но вот как собрать к примеру букву? или дом?
__________________
Я просто добрый шутник. |
|
|||||
|
зачем из маленьких кубиков собирать польшой кубик?
|
|
|||||
|
Ну в принципе можно взять тектовое поле
- превратить его в битмапдату - в битмапдате проверять цвета контрольных пикселей (например, если шрифт взяли большой, то каждые 10 пикселей по вертикали и по горизонтали) - из етого всего получить объект - по сути набор координат, где пиксели закрашены - по содержимому объектов размещаем наши кубики задачка нестандартная... мде...=) геморройное решение конечно, но всё что в голову пришло
__________________
...вселенская грусть |
|
|||||
|
ветеран форума
|
можно заранее определить каждый символ шрифта как массив (как в табло типа бегущей строки) и в зависимости от нужной буквы по соответствующему массиву строить кубики, но эт при условии что стрить нужно не по любому шрифту пользователя из установленных у него, а заранее определенных. То же и с домиком....
А вот если строить нужно по любому шрифту, то вариант предложенный gloomyBrain (но с некоторой модификацией) кажется вполне приемлим и не так уж то и сложен в реализации. Обратите внимание на свойства и методы getColorBoundsRect, threshold, compare ну и getPixel32 - с некоторыми из них можно придумать алгоритм выгрызания полезных пикселей или областей при условии контрастности шрифта по отношению к фону. Я подобное делал лет так 12 назад на Паскале, вытаскивал пиксели шрифта по разности цвета с фоном в массив координат точек и потом эти пиксели вращал в 3D пространстве.
__________________
trace("Остановите Землю, я сойду!!!"); Последний раз редактировалось Mur4ik; 28.10.2008 в 04:49. |
|
|||||
|
[+4 12.09.08]
|
)))) плохо только, что домики не во всех шрифтах присудствуют))))
да и проекция получится плоская ... и походу, автор имел ввиду полностью 3д... для домика нужно будет три проекции полюбому ... единственно, что внутренние полости тяжело отображать ... в черчении используются дополнительные виды. можно реализовать тогда как судоку и пусть комп развлекается и решает ![]() |
![]() |
![]() |
Часовой пояс GMT +4, время: 10:14. |
|
|
« Предыдущая тема | Следующая тема » |
|
|