2014 dxdy logo

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

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


Правила форума


В этом разделе нельзя создавать новые темы.



Начать новую тему Ответить на тему
 
 Построение отрезков на поверхности сферы
Сообщение14.08.2007, 12:05 


14/08/07
1
Стоит следующая задача:

Имеется сфера заданного радиуса.
Есть координаты точек начала и конца отрезка. необходимо корректно отобразить его на сфере (то есть по сути определить его "кривизну").

То есть например если использовать такой метод построения:

// AS 2.0

moveTo(x1,y1);
curveTo(x2,y2,anc1_x,anc1_y);

где:

x1,y1: начальная точка отрезка на сфере (экранные координаты)
x2,y2: конечная точка отрезка на сфере (экранные координаты)

необходимо определить:

anc1_x,anc1_y: координаты точки, определяющей кривизну отрезка, так чтобы выглядело как будто он лежит на поверхности сферы.

Если кто-нибудь может как-то помочь - пишите.

Заранее спасибо :)

 Профиль  
                  
 
 Re: Построение отрезков на поверхности сферы
Сообщение14.08.2007, 15:13 
Заслуженный участник


05/09/05
515
Украина, Киев
roland2 писал(а):
Стоит следующая задача:

Имеется сфера заданного радиуса.
Есть координаты точек начала и конца отрезка. необходимо корректно отобразить его на сфере (то есть по сути определить его "кривизну").

То есть например если использовать такой метод построения:

// AS 2.0

moveTo(x1,y1);
curveTo(x2,y2,anc1_x,anc1_y);

где:

x1,y1: начальная точка отрезка на сфере (экранные координаты)
x2,y2: конечная точка отрезка на сфере (экранные координаты)

необходимо определить:

anc1_x,anc1_y: координаты точки, определяющей кривизну отрезка, так чтобы выглядело как будто он лежит на поверхности сферы.

Если кто-нибудь может как-то помочь - пишите.

Заранее спасибо :)


Не очень понятно (по Вашему описанию) к чему относится Ваша задача. Или это на программирование, тогда Вам в раздел Computer Science форума, или же к математике (дифференциальной геометрии), тогда сюда, но непонятно тогда задание (потому что Вы его неважно сформулировали).

Если речь идёт об отрезке "прямой" (большие круги сферы), то понятно, что это геодезическая. Ну и что надо показать?

Upd.
Может Вам надо параметризовать кривую (например, величина угла может быть параметром)?

 Профиль  
                  
 
 Re: Построение отрезков на поверхности сферы
Сообщение14.08.2007, 15:40 


29/09/06
4552
roland2 писал(а):
moveTo(x1,y1);
curveTo(x2,y2,anc1_x,anc1_y);

где:

x1,y1: начальная точка отрезка на сфере (экранные координаты)
x2,y2: конечная точка отрезка на сфере (экранные координаты)

необходимо определить:

anc1_x,anc1_y: координаты точки, определяющей кривизну отрезка, так чтобы выглядело как будто он лежит на поверхности сферы.


Macavity писал(а):
Не очень понятно (по Вашему описанию) к чему относится Ваша задача.


Вот чего хочет вопрошающий (гипотеза, разумеется)...
"Отрезок на сфере" при проектировании (центральном, параллельном) на плоскость (экран) будет выглядеть дугой плоской выпуклой кривой. В частности, если отрезок на сфере есть почти $2\pi$-окружность, то это может быть почти окружность на экране, или некий овал с маленьким вырезом, но roland2 пока об этом не задумывается. Он молча предполагает относительно короткую кривую. И рассчитывает представить её кривой Безье 2-го порядка, то бишь кусочком параболы. Я рисовал эту параболу среди прочих коников (или коник?) в этом сюжете (она там красненькая, а остальные кривые --- рациональные :P ). Его точка "anc1_x,anc1_y" --- контрольная точка этой кривой $P$. Обозначение "anc", наверное, из какой-то его системы, и происходит от якоря (anchor).
Т.е. ему надо (как-то) спроектировать начальные и конечние точки на эту самую плоскость-экран, туда же спроектировать 3D-касательные, и сосчитать искомый якорь в точке пересечения полученных 2D-касательных.

Я так думаю.

UPD. ... Либо, что то же самое, сосчитать 3D-точку пересечения 3D-касательных к "отрезку на сфере", и её спроектировать вслед за начальной и конечной точками.

Если я Вас правильно понял, roland2, то это и есть решение задачки. Как проектировать Вашу сферу на экран --- этого никто не знает, кроме Вас. Позаботьтесь, чтобы дуги были достаточно короткими. Длинную разбейте на кусочки. С поворотом не более $90^\circ$.

 Профиль  
                  
 
 
Сообщение14.08.2007, 17:12 
Заслуженный участник
Аватара пользователя


17/10/05
3709
:evil:
Алексей К. писал(а):
то это может быть почти окружность на экране, или некий овал

Эллипс?

Алексей К. писал(а):
UPD. ... Либо, что то же самое, сосчитать 3D-точку пересечения 3D-касательных к "отрезку на сфере", и её спроектировать вслед за начальной и конечной точками.

Согласен... если требуется гладкость согласования. Если не требуется, то можно пытаться «оттягивать» контрольную точке (anchor), оптимизируя кривую.

 Профиль  
                  
 
 
Сообщение14.08.2007, 17:20 


29/09/06
4552
незваный гость писал(а):
Эллипс?

Да наверное... как ни проектируй... Видимо, я просто это слово забыл :D .

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group