Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Разное

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите вывести формулу
 
 автор: Lelik   (21.02.2011 в 16:49)   письмо автору
 
 

Здасьте всем.

Есть отрезок, допустим длиной в 100 см. Мне надо поделить его на 10 частей, но не ровный, а так чтоб каждая следующая была больше предыдущей. Например первый отрезок 2 см, второй 4см, третий 9 см, ..., последний 19см, и в сумме, чтобы их длина состовляла 100.

Я прихожу к тому, что надо добавлять какой-то постоянно меняющийся коефициент, что-то типа:
width / 10 * coef

где width - длина отрезка, coef - коефициент, например один раз это 0,8, а другой раз 1,3

Спасибо.

  Ответить  
 
 автор: Trianon   (21.02.2011 в 16:55)   письмо автору
 
   для: Lelik   (21.02.2011 в 16:49)
 

как бы условия не хватает.
Равные от неравных отличаются именно этим.
Нужно определить минимум насколько (или во сколько раз) должны отличаться соседние по размеру части.
А то иначе можно распилить на 10 равных и сказать - решено. Поскольку одинаковых все равно невозможно сделать - дело только в точности измерения. :)

  Ответить  
 
 автор: Lelik   (21.02.2011 в 16:57)   письмо автору
 
   для: Trianon   (21.02.2011 в 16:55)
 

А условий особых нету. Применять собираюсь в жабаскриптах для передвижения блоков. Это для эффекта ускорения в начале или конце движения объекта.

  Ответить  
 
 автор: Trianon   (21.02.2011 в 17:00)   письмо автору
 
   для: Lelik   (21.02.2011 в 16:57)
 

а какую сермягу дает обязательное неравенство размеров?

  Ответить  
 
 автор: Lelik   (21.02.2011 в 17:00)   письмо автору
 
   для: Trianon   (21.02.2011 в 17:00)
 

"сермягу" - это что? :)

  Ответить  
 
 автор: Trianon   (21.02.2011 в 17:02)   письмо автору
 
   для: Lelik   (21.02.2011 в 17:00)
 

В чем польза от обязательного неравенства размеров?

Если речь о блоках верстки, то размеры дискретны, и минимальная разность - 1 пиксель, так?

  Ответить  
 
 автор: Lelik   (21.02.2011 в 17:07)   письмо автору
 
   для: Trianon   (21.02.2011 в 17:02)
 

Объясню более подробно применение:

Есть абсолютно спозиционированный блок. Допустим со свойством стиля top: 100px. Мне надо его перенести на высоту top: -20px. Итого моя длина 120 пикселов, которые блок должен "пролететь" за 10 вызовов таймаута. Неравные отрезки нужны для создания эффекта, что в начале блок двигается медленее, а в конце пути - быстрее.

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

  Ответить  
 
 автор: sim5   (21.02.2011 в 17:21)   письмо автору
 
   для: Lelik   (21.02.2011 в 17:07)
 

Экспонента.

  Ответить  
 
 автор: Trianon   (21.02.2011 в 17:22)   письмо автору
 
   для: Lelik   (21.02.2011 в 17:07)
 

Если отрезки должны различаться как минимум на K пикселей, то размеры первых N таких отрезков , и общая длина будут такими


N  Pi        Si
1 P+0*K   1*P
2 P+1*K   2*P + 1*K
3 P+2*K   3*P + 3*K
4 P+3*K   4*P + 6*K
...
N P+N*K   N*P + K*((N-1)^2 + (N-1))/2


Отсюда минимальный отрезок P = (S - K*((N-1)^2 + (N-1))/2) / N

Вот только модель может и не подойти.
Тут нужно оценивать, по какому закону должна меняться скорось перемещения.

  Ответить  
 
 автор: Lelik   (21.02.2011 в 17:26)   письмо автору
 
   для: Trianon   (21.02.2011 в 17:22)
 

>Тут нужно оценивать, по какому закону должна меняться скорось перемещения.

Тут ещё разные законы оказывается? :)

  Ответить  
 
 автор: Lelik   (21.02.2011 в 16:59)   письмо автору
 
   для: Trianon   (21.02.2011 в 16:55)
 

И я хотел там написать, что мне надо неравные части, а получилось "не ровный" :)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования