операции масштабирования на двумерном графике, размер выходной последовательности не должен совпадать с входным - PullRequest
1 голос
/ 21 августа 2011

Я ищу пакет с открытым исходным кодом (желательно Java, но R или другие языки тоже подойдут), который предоставляет эти 2 функции

1) points output_seq [] SCALE (points input_seq [], double factor)

Другими словами, последовательность парных чисел (x1, y1), (x2, y2) ... задается в качестве входных данных, представляющих график (каждая точка связана со следующей прямой линией) имасштабный коэффициент дается.Затем он возвращает аналогичную последовательность в качестве вывода.Уловка в том, что выходная последовательность может иметь меньше или больше элементов, чем входная.Например, если я запрашиваю увеличение с коэффициентом 2,012, то выходная последовательность может иметь вдвое больше элементов, чем входная.Коэффициент масштабирования должен быть двойным, а не целым числом.Наконец, важно возвращать выходную последовательность в виде точек (двойников), меня мало интересует фактическое рисование на экране, помимо доказательства того, что оно делает правильные вещи.

2) точки output_seq [] ROTATE (точки input_seq [], двойной угол)

то же, что и выше, за исключением того, что нет масштабирования, а только вращение, угол составляет от 0 до 359,9999 и дается в радианах.Размер вывода всегда совпадает с размером ввода.Опять же, акцент делается на удвоении выходной последовательности, а не на фактическом рисунке на экране.

Если вы знаете правильную терминологию, которую я должен был использовать, дайте мне знать.Большое вам спасибо.

1 Ответ

1 голос
/ 22 августа 2011

В Java Path2D подходит для 2D координат с плавающей точкой.Метод lineTo() добавит прямые линии к пути.Поскольку Path2D реализует интерфейс Shape, поворот и масштабирование возможны через createTransformedShape().Один подход к интерполяции, использующий PathIterator, показан здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...