Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Флейм (http://www.flasher.ru/forum/forumdisplay.php?f=7)
-   -   Математикам и матаматятам. (http://www.flasher.ru/forum/showthread.php?t=46737)

Usnul 12.07.2003 16:52

Математикам и матаматятам.
 
Ребят, пару суток бился со злостной формулой. Нифига не вышло :(
может поможете?

задача:
вывести две формулы, для позиции "х" и "у" для иконок на рабочем столе.

вот то, как это решил я:

y=(i-1)*(R*1.5+V)-(600-(R*1.5+V))*Math.floor(i/((600-TBH)/(R*1.5+V)))
x=(R*2+H)*Math.floor(i/((600-TBH)/(R*1.5+V)))

где:
R - это начальный размер иконки
1.5 - статическое значение которое изминяет размер иконки по вертикали
2 - статическое значение которое изминяет размер иконки по горизонтали
i - порядковый номер иконки
V - расстояние между двумя ближайшими иконками по вертикали
600 - высота экрана
TBH - высота таскбара с кнопкой старт
H - расстояние между двумя ближайшими иконками по горизонтали

и что-то нифига не пашет :(

llllllllll 12.07.2003 18:33

Слушай, ты здоровый человек? :)

Techmaker 12.07.2003 19:26

i - порядковый номер иконки
R - размер иконки
delta_y=V - расстояние между двумя ближайшими иконками по вертикали
delta_x=H - расстояние между двумя ближайшими иконками по горизонтали
2 - статическое значение которое изминяет размер иконки по горизонтали
1.5 - статическое значение которое изминяет размер иконки по вертикали
600 - высота экрана
TBH - высота таскбара с кнопкой старт
delta_i - количество иконок в одном ряду (вертикальном)


_width=R
_height=R
_height*=1.5
_width*=2
//V=_width*1.2
//H=_height*1.3
delta_y=V
delta_x=H
delta_i=int((600-TBH)/(delta_y-10))
ii=int((i-1)/delta_i)
y=i*delta_y-delta_i*ii*delta_y-delta_y
x=ii*delta_x

llllllllll 12.07.2003 19:56

2Techmaker: когда мне надоест думать, я обязательно к тебе обращусь :) :) :)

Techmaker 12.07.2003 20:21

2llllllllll
надеюсь я правильно тебя понял... :)

Techmaker 12.07.2003 21:08

2Usnul
Цитата:

delta_i=int((600-TBH)/(delta_y-10))
"-10" - это я для точности дописал а вообще можно заменить -delta_y (это дополнительный промежуток между TBH и самой нижней иконкой) :)

и ещё код я писал прямо в форум, в окошке ответа, так что непроверял и могут быть ошибки, если будут - спрашивай, постораюсь исправить :) ;)

Nirva 12.07.2003 22:14

ух... 5+. =)

Usnul 12.07.2003 22:14

вопрос:
можно в две строчки как мой первый вариант сократить?
ну чтоб зная i, R, TBH, V и H сразу состывить две строчки (x=... и y=...).

Usnul 12.07.2003 22:16

пардон, но мне ненадо ничего кроме икса и игрика.
мне просто позиции нада.

Techmaker 12.07.2003 22:31

ух ты какой ленивый :)
даже несказал работает или нет :)
щас переведу... :p


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

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