2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу Пред.  1, 2
 
 Re: Масштабирование фигуры
Сообщение29.02.2012, 23:00 
Аватара пользователя
А хотя нет, стоп, просто задача сформулирована некорректно, потому что в данном случае получается не увеличение масштаба, а переход в новую фигуру. А для этой новой фигуры мой способ вроде как работает. Получается что-то вроде треугольника со скругленными углами. Хотя получается ли это скругление в углах - тоже отдельный вопрос.

 
 
 
 Re: Масштабирование фигуры
Сообщение29.02.2012, 23:07 
Аватара пользователя
Multiprogramm в сообщении #544016 писал(а):
А хотя нет, стоп, просто задача сформулирована некорректно, потому что в данном случае получается не увеличение масштаба, а переход в новую фигуру. А для этой новой фигуры мой способ вроде как работает. Получается что-то вроде треугольника со скругленными углами. Хотя получается ли это скругление в углах - тоже отдельный вопрос.

Треугольник с закругленными углами по Вашей методе не выйдет. У Вас должно быть нечто вроде "надутого" треугольника. Но все равно расстояние h между старой и новой фигурой по Вашему методу не получится.

 
 
 
 Re: Масштабирование фигуры
Сообщение29.02.2012, 23:15 
Artur0 в сообщении #544015 писал(а):
А как найти уравнение касательной, если нет функции, есть только точки? Там ведь нужно производную искать...
А как вы определяете, какая точка принадлежит кривой, а какая нет? Уравнением $F(x, y) = 0$, параметрическими $x = f(t), y = g(t)$ или, может, интерполируя каким-нибудь способом по конечному набору точек? Из этого можно будет прийти и к уравнению касательной в точке и пр..

 
 
 
 Re: Масштабирование фигуры
Сообщение29.02.2012, 23:19 
arseniiv в сообщении #544028 писал(а):
А как вы определяете, какая точка принадлежит кривой, а какая нет? Уравнением $F(x, y) = 0$, параметрическими $x = f(t), y = g(t)$ или, может, интерполируя каким-нибудь способом по конечному набору точек? Из этого можно будет прийти и к уравнению касательной в точке и пр..


Точки просто заданы, получены в ходе эксперимента. Есть некоторое "облако" точек, которое нужно чуть-чуть расширить или, наоборот, сжать.

 
 
 
 Re: Масштабирование фигуры
Сообщение29.02.2012, 23:23 
Multiprogramm в сообщении #544016 писал(а):
А хотя нет, стоп, просто задача сформулирована некорректно
Вполне корректно. Частный случай такой задачи решён во всяких графических программах (рисование контуров с толщиной, втяжка-вытяжка [так называется в русском переводе Inkscape] контуров).

Artur0 в сообщении #544030 писал(а):
Точки просто заданы, получены в ходе эксперимента. Есть некоторое "облако" точек, которое нужно чуть-чуть расширить или, наоборот, сжать.
Тогда можно интерполировать кривую между ними как-нибудь, а потом получить новые точки после тем же способом.

У вас можно определить для каждой точки предыдущую и следующую?

 
 
 
 Re: Масштабирование фигуры
Сообщение01.03.2012, 00:54 
Аватара пользователя
arseniiv

(Оффтоп)

Я просто запутался в том, что здесь происходит: масштабирование или именно рисование фигуры, отстающей от данной на h, поэтому моё воображение взяло часть из той задачи (центр, относительно которого увеличиваем), часть из той (расстояние h) :-) Что, конечно, меня не оправдывает, ибо решение не подошло ни к одной из задач :D


Artur0
Чтобы увеличить масштаб облака, нужно найти "центр" облака (центр минимального по площади прямоугольника со сторонами, параллельными осям, такого, что все точки лежат в нём). Обозначим его за $O(x_0;y_0)$. Затем новые координаты точек будут вычисляться по формуле:
$$x' = k(x - x_0) + x_0$$
где:
$x'$ - новая абсцисса точки,
$x$ - старая абсцисса точки,
$k$ - во сколько раз увеличить.
Для $y$ всё абсолютно аналогично. Т.е. мы как бы берём фигуру, переносим её в начало координат, растягиваем, а затем переносим обратно.

Если же нужно именно построение фигуры, "отстающей" от данной на $h$, то ничего кроме уже написанного в голову не приходит: гладкая интерполяция, производная, касательная, перпендикуляр, отмерить $h$.
Интерполировать, думаю, можно так: ввести фиктивный параметр $t$ (взяв за него, допустим, номер точки по обходу контура), а затем интерполировать $x(t)$ и $y(t)$ отдельно. Или я не прав?

 
 
 
 Re: Масштабирование фигуры
Сообщение01.03.2012, 21:01 

(2 Multiprogramm.)

Multiprogramm в сообщении #544050 писал(а):
Я просто запутался в том, что здесь происходит: масштабирование или именно рисование фигуры, отстающей от данной на h, поэтому моё воображение взяло часть из той задачи (центр, относительно которого увеличиваем), часть из той (расстояние h) :-) Что, конечно, меня не оправдывает, ибо решение не подошло ни к одной из задач :D
Да с кем не бывает!

 
 
 
 Re: Масштабирование фигуры
Сообщение04.03.2012, 11:51 
Multiprogramm в сообщении #544050 писал(а):
Я просто запутался в том, что здесь происходит: масштабирование или именно рисование фигуры, отстающей от данной на h, поэтому моё воображение взяло часть из той задачи (центр, относительно которого увеличиваем), часть из той (расстояние h)

Странно (лично мне это кажется странным), что самое существенное замечание для этой ветки (лично мне оно кажется самым существенным) Вы, уважаемый Multiprogramm объявляете несущественной мелочью (объявили offtop).

А ведь вся проблема и возникла (как мне кажется) из-за того, что автор ветки "интуитивно" предположил, что эти две задачи - суть одна и та же задача.

 
 
 [ Сообщений: 23 ]  На страницу Пред.  1, 2


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group