Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.02.04;
Скачать: CL | DM;

Вниз

Как развернуть цилиндр на плоскость?   Найти похожие ветки 

 
Нет   (2006-03-17 02:23) [0]

Есть масса точек рассполженных строго на цилиндре с радиусом R. Надо развернуть эти точки на плоскость. Чтобы все расстояния между ними сохранились. Как это можно сделать?

GLScene.


 
grouzd[E]v ©   (2006-03-17 02:38) [1]

труба вдоль оси Z, для каждой точки делаем


const
 RADIAN = 180 / pi;

r - радиус
a := arctan(y / x);
x := -sin(a / RADIAN) * r;
y := -cos(a / RADIAN) * r;


вроде так. если хочешь - посчитай на листочке, может че сократится

---
... we are walking on a thin line and you better avoid the risk ...


 
Нет   (2006-03-17 03:12) [2]

Спасибо!
Пойду проверю.

Кстати, а можно шар развернуть на плоскость?


 
XProger ©   (2006-03-17 11:35) [3]

Нет, карты географические видел?


 
Нет   (2006-03-18 04:14) [4]

Но ведь шары отекстуривают как то?


 
grouzd[E]v ©   (2006-03-18 11:01) [5]

Трехмерные текстуры?

---
... we are walking on a thin line and you better avoid the risk ...


 
Нет   (2006-03-19 04:38) [6]

Обычные текстуры. Ну глянь в GLScene, например.
Как вообще лучше сделать развёртку шара на плоскость?


 
Думкин ©   (2006-03-23 07:15) [7]

> Нет   (19.03.06 04:38) [6]

Это к картографам. Была статья на тему в №2 1986 года в Кванте. :о)


 
Думкин ©   (2006-03-23 07:19) [8]

Год вроде спутал - 1985. А вот номер - вроде нет. Глобус на обложке был.


 
Думкин ©   (2006-03-23 07:33) [9]

Точно. Год - 1985.
Обложка - http://kvant.mcnmo.mccme.ru/1985/02/pti.htm
А на обороте - обозначения чисел у разных народов:
http://kvant.mcnmo.mccme.ru/1985/02/pot.htm
Но текста нет. :(

А если серьезно разобраться желание есть - то дифференциальная геометрия - первая и вторая квадратичные формы. И далее.


 
Думкин ©   (2006-03-23 08:38) [10]

> grouzd[E]v ©   (17.03.06 02:38) [1]
> труба вдоль оси Z, для каждой точки делаем
>
>
> const
>  RADIAN = 180 / pi;
>
> r - радиус
> a := arctan(y / x);
> x := -sin(a / RADIAN) * r;
> y := -cos(a / RADIAN) * r;

Не верно.
1. Зачем радианы еще раз в орадианы?
2. Отображение не биективно. Точкам с одинаковой Z соответсвуют одинаковые образы.
3. Возьмем 2 точки на цилиндре(считаем что центральная ось - OZ) с координатами (-r,0,0) и (0,r,0). Расстояние по цилиндру между ними Pi*r/2, при вашем же подходе - на плоскости - у второй и образа нет.

Координаты на цилиндре - 2 числа (Z,Fi). Переход к полосе на плоскости с сохранением расстояний:
x - [0,2*Pi]
y - [-бесконечность, + бесконечность]
делается небольшим усилием.


 
Думкин ©   (2006-03-23 08:45) [11]

3. Хотя можно приписать образ, но все одно - расстояния не сохранятся и к тому же 2 - все убивает.

вернее x-[0,2*Pi*r)
Но, лучше рассматривать цилиндр как фактоизацию, по данной полосе всей плоскости. Тогда проблем с вычислением расстояний не будет. Ибо 2 точки могут быть близки на цилиндре, но далеки на полосе - ибо 2 точки можно связать 2-мя геодезическими имеющими соответсвующие отрезки разной длины. но можно на соседней полосе рассмотреть образ этой же точки и соединить отрезком. вот какой короче - таково и расстояние.


 
grouzd[E]v ©   (2006-03-23 15:35) [12]


> 1. Зачем радианы еще раз в орадианы?

Ну блин, на глазок писАл =)


> 2. Отображение не биективно. Точкам с одинаковой Z соответсвуют
> одинаковые образы.
> 3. Возьмем 2 точки на цилиндре(считаем что центральная ось
> - OZ) с координатами (-r,0,0) и (0,r,0). Расстояние по цилиндру
> между ними Pi*r/2, при вашем же подходе - на плоскости -
> у второй и образа нет.

Гм, действительно

---
... we are walking on a thin line and you better avoid the risk ...



Страницы: 1 вся ветка

Текущий архив: 2007.02.04;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.062 c
2-1169307469
MaxInside
2007-01-20 18:37
2007.02.04
Мин. и макс. значения


4-1158843366
GanibalLector
2006-09-21 16:56
2007.02.04
Передача строки из доп.потока с основной


15-1168625855
1-st...
2007-01-12 21:17
2007.02.04
SSL +delphi


4-1158880909
Worker
2006-09-22 03:21
2007.02.04
Как получить список зарегистрированных служб


4-1158830774
2ded
2006-09-21 13:26
2007.02.04
JOB_INFO_1 PagesPrinted