Форум: "Игры";
Текущий архив: 2007.02.04;
Скачать: [xml.tar.bz2];
ВнизКак развернуть цилиндр на плоскость? Найти похожие ветки
← →
Нет (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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.045 c