Файлы и геометрия. Казалось бы, при чём здесь PHP?

Статус
В этой теме нельзя размещать новые ответы.

Ямерт

The Old One
Файлы и геометрия. Казалось бы, при чём здесь PHP?

(Флэйм, в продолжение к флэйму о весе винчестеров).

Вчера вечером на канале #phpclub в Undernet был задан блестящий вопрос:
"хм, так можно узнать длину и ширину графического файла с помощью ПХП?".

Запросы программистов растут не по дням, а по часам. Им уже недостаточно знать размеры изображения, им надо знать ширину и высоту самого файла. Как вы понимаете, тема неоднозначная, и простыми вычислениями, оперируя теориями высшей математики, здесь не обойтись.
Суть проблемы лично я бы вкратце сформулировал следующим образом: "Альтернативы имманентного проецирования геометрических парадигм на теоретические основы дефиниции свойств объектов нелинейных пространств".
Главные вопросы:
* имеют ли файлы геометрическую структуру?
* как описать файл визуально в виде геометрических фигур?
* решаема ли поставленная задача в рамках аксиом Эвклида?

В качестве практической части необходимо разработать класс FileGeometricOptions с двумя основными методами: getFileHeight() и getFileWidth().

Работу необходимо сдать до конца сессии.
 

LEglantier

Guest
Еще нужны getFileX() и getFileY()
Координаты верхнего левого угла файла относительно верхнего левого угла корневого каталога :)

А так же setFileX() и setFileY() для перемещения файлов.

В качестве примера можно реализовать игры для программистов:

1. "Поймай файл": Задача отловить произвольно шляющийся по диску файл и произвести с ним необходимые действия (на ходу).

2. "FAT лабиринт" для Win32: Перемещение файла по лабиринту с текущего местоположения в корзину :)
 

Ямерт

The Old One
О, понеслась :)

L'Eglantier, X и Y - это если мы докажем, что задача решаема в декартовой системе координат :)
А насчёт слежки за перемещением файлов - тут физика ...ещё физика понадобится. Это ещё сложней получается - тут уже Нобелевкой попахивает!
 

Demiurg

Guest
Вы чего ? какие x и y ? мат. часть учите товарищи.
Файлы как известно вращаются на диске, а следовательно координаты должны быть цилиндрические.
Длинна вычисляется как
L = pi*R*size_of_file
Где R - растояние от центра диска до месторасположения диска. Ширина файла всегда кратна ширене дорожки. а высота всегда 0. тк файлы - плоские.
 

su1d

Старожил PHPClubа
а высота всегда 0. тк файлы - плоские
у диска же несколько цилиндров. нужно ещё знать на каком из них лежит файл (и/или его блоки). так что измерять нужно объём, а не площадь.
 

LEglantier

Guest
Демиург, ты нас не путай. Винчестер, он круглый, потому, что тяжелый. И чем круглее, тем тяжелее:p

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

Только тогда еще нужно getFileZ() и setFileZ() :D
 

Demiurg

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

L'Eglantier, эээ батенька ... а глобус вы видели ?
просто карта - это всегда комфорное отображение на квадратную область ..
 

LEglantier

Guest
L'Eglantier, эээ батенька ... а глобус вы видели ?
просто карта - это всегда комфорное отображение на квадратную область ..
Ну, так и зачем же нам еще сильнее усложнять задачу? А то еще начнем учитывать угол наклона оси винчестера к материнской плате, сезонные колебания дискового пространства, влияние CD-рома на информационные приливы и отливы... Нам же и надо то только оперировать с координатами файлов. А остальное - аппаратные проблемы. Программисты их не решают;)
 

Geol

Пациент
Автор оригинала: Demiurg
при перемещении с одного диска на другой в нутри винчестера файл не изменяет свое состояние. так что они все же плоские...
А при перемещении в оперативную память?
квадратура круга однако
 

Demiurg

Guest
L'Eglantier, нам докапаться до истины надо или просто задачу спехнуть, если второе, то конечно да ... а так надо учитывать все влияния.

>А при перемещении в оперативную память?
так при перемещении в память это уже не файл а страница в памяти .. а страницы как известно квадратные ... книжки надо читать :)
 

Demiurg

Guest
>Прямоугольные!
смотря под каким углом смотреть
 

trent

Developer
>L = pi*R*size_of_file
H - Ньютоны
WF(Ширина файла) = H / L; (чем длинее, тем сильнее давит на поверхность)
HF - высота всегда = 0, т.к плоский :)
 

Georgy

Guest
2Ярмет:)

На самом деле файлы, а, особенно, картинки имеют кристаллическую структуру:)
 

Kosarev

Новичок
Ребят так блин тогда нужно учитывать и влияние центробежной силы при вращении диска, да и вообще пару функций для работы с теорией относительности, надо. Ведь система координат будеот относительно директории.

Так что без get_absolutlyX get_absolutlyY не обойтись.

Кстати надо бы так же учитывать и влияние масс не входящих в систему, но влияющих на неё. Пренебригать, массами планет нельзя. Так что надо внести в библиотеку и функцию для определяния знака зодиака файла get_zodia_file

Вполне можно пренебречь такими функция, но тогда о полноте библиотеки можно будет относится критично.
 

leosha

Старожил PHPCLub
>Ну, так и зачем же нам еще сильнее усложнять задачу?

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

Категорически не согласен что файлы плоские. Предлагаю определится хотя бы с этим для начала.
 

Long

Новичок
leosha, файлы однозначно плоские. по крайней мере, на первом этапе, их объемом можно пренебречь. :)
а поскольку с массой файла все более-менее решено предшественниками, то предлагаю определять площадь через массу. едиственное затруднение - определить плотность файла. хотя... кажется тут тоже не так все сложно :)
 

StUV

Rotaredom
сначала надо дать определение файла в соответствии с выбранным приближением (точностью оценок), потом уже определять его (файла) характеристики :D
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху