В стандартном представлении точки P представляют фактические точки в пространстве, поэтому вы перемещаете их, как и любые другие точки. То есть масштабировать их, просто умножить все на вас коэффициент масштабирования: скажем, это a
, так что это будет [a*cp1x,a*cp1y,a*cp2x,a*cp2y,a*x,a*y]
, или если вы хотите масштабировать x
и y
отдельно, вы можете использовать различные факторы для компонентови y
.
Обратите внимание, что это будет масштабировать вещи относительно начала координат (x=0, y=0)
, поэтому, если у вас нет кривых в начале координат, это может выглядеть как сдвиг. Если вы хотите отрицать эффект этого сдвига, вы можете вычесть Px
и Py
из значений x
и y
соответственно, где Px
и Py
- это точка, которую вы хотите не перемещать при масштабировании, прежде чем выполнять масштабирование (а затем добавить его обратно после вас несколько, если вы хотите). Но если то, что вы хотите сделать, это масштабировать весь холст, например, от 5x5 дюймов до 7x7, вы хотите сделать умножение без каких-либо изменений (и в этом случае - на 7./5).
Когда вы масштабируете, какая часть кривой останется фиксированной на месте, один из концов или центра? – SpacedMonkey
У меня не было ничего конкретного, но я бы взял центр. – Thomas