Необходимо использовать ZipOutputStream для этого.
http://java.sun.com/javase/6/docs/api/java/util/zip/ZipOutputStream.html
Я нашел это . Самый короткий ответ, который я могу процитировать из него:
Мы присоединяемся к точкам привязки, окружающим запуск, и точки привязки конца со строкой (let’s называют их
opposed-lines
):
, Чтобы линия была ровной, положение каждой контрольной точки должно быть относительно
opposed-line
:
- контрольная точка находится на строке, параллельной эти
opposed-line
, и касательная к текущей точке привязки.- На этой строке касательной, расстояние от точки привязки до контрольной точки зависит от длины
opposed-line
и произвольноеsmoothing
отношение.- контрольная точка запуска входит в то же направление как эти
opposed-line
, в то время как контрольная точка конца идет назад.
// When 'current' is the first or last point of the array
// 'previous' or 'next' don't exist.
// Replace with 'current'
const p = previous || current
const n = next || current
<час> Моя интерпретация:
start
/ end - 1
) и 2 (start + 1
/ end
) вычисляются: start
) параллельный {строка, идущая от точки 0 (start - 1
) для указания 2 (start + 1
)}. end
) параллельный {строка, идущая от точки 1 (end - 1
) для указания 3 (end + 1
)}. start - 1
[1 118] или end + 1
с [1 120].