Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   программное рисование (http://www.flasher.ru/forum/showthread.php?t=57065)

KorneKrabb 15.04.2004 14:08

программное рисование
 
как вычислить площадь программно нарисованной сложной фигуры ?

Dindin 15.04.2004 14:35

Это зависит от фигуры. Если фигура действительно сложная, то проще всего разбить ее (условно) на примитивы и сосчитать сумму их площадей. Встроенного вычисления площади во flash, насколько я знаю, нет.

KorneKrabb 15.04.2004 14:44

Да.... это можно представить если фигура выпуклая .... хотя и с трудом.... а что если она таковой не является ?

FreeLander 15.04.2004 15:23

2KorneKrabb
 
Цитата:

это можно представить если фигура выпуклая .... хотя и с трудом.... а что если она таковой не является ?
причём тут выпуклость?

ты ж фигуру на плоскости рисуешь - вот и считай площадь плосого объекта - ГЕОМЕТРИЯ.

или может ты имел в виду rectangle нарисованного объекта - тогда рисуй в новом мувике и смотри его высоту и ширину.

или я действительно чего-то не понял.

KorneKrabb 15.04.2004 16:21

фигуре необязательно быть трехмерной чтобы называться выпуклой :)
в данном случае выпуклая фигура это некая фигура состоящая скажем из двух прямоугольников слепленных по сторонам
а вогнутая это один прямоугольник из которого (булевой операцией) "выкушен" второй ( С-образная фигура )

причем по замыслу фигура рисуется не прямоугольниками а скорее всего через угловые точки...
говоря грубым языком пользователь задает эти точки тем или иным образом, а программа проводит через них линии закрашивая контур . далее она должна вычислять ПЛОЩАДЬ фигуры

Nucer 15.04.2004 16:53

Как как - с помощью интегралов. Если ты напишешь такой алгоритм то тебе дадут какую-нибудь премию. Лучше действительно с помощью циклов. Например находишь верхнюю,самую нижнюю, самую левую и самую правую точки объекта и спускаешься на одну точку вниз и проходишь цилом вправо, проверяя текущую точку на принадлежность к объекту. Только это лагать будет не слабо

KorneKrabb 15.04.2004 17:12

Nucer я думаю то что в любом случае фигура будет состоять из N-ного количества прямоугольников это уже Плюс... дробить конечную фигуру на прямоугольники легко если она нарисована на листке бумаги перед носом.
а программно, опираясь лишь на координаты углов...... геммор...
в юности я работал на Бейсике ( самой древней его версии )
я применял там этот метод ( попиксельная проверка картинки ) но не хочу снова прибегать к нему так как представляю сколько это будет занимать времени...


может есть еще какие нибудь идеи ?

Nucer 15.04.2004 17:14

Вложений: 1
Можно например так

KorneKrabb 15.04.2004 17:33

ммм... а можно его [исходник] под Flash 6 сохранить ато он у меня не открывается....?... :)

FreeLander 15.04.2004 17:39

у Nucerа классный исходник - мне понравилось, самому в голову такое не пришло, но это и есть та самая попиксельная проверка картинки.

posted by KorneKrabb
Цитата:

может есть еще какие нибудь идеи ?
думаю быстрее всего будет как раз таки программно по координатам углов, а геморрой это только в первый раз, я для себя такие задачи квалифицирую как полезные - позволяют немного тригонометрию вспомнить.


Часовой пояс GMT +4, время: 05:50.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.