начало тут: http://www.civfanatics.ru/forum/index.php?...9342&st=40#
а равнины зачем делать моделями? можно ведь текстурить имеющуюся сферу? я вообще в 3Д графике не силен, поправь если ерунду скажу. как сделаны равнины в циве?
впрочем если сферу частично текстурить нельзя - равнины тоже можно сделать моделями типа "матов" которые друг на друга настилаются. при этом они будут слегка выпуклыми и различаться по толщине, чтобы создать эффект перехода из одного типа равнины в дугой. из пустыни в степь к примеру: ___/------- вот как то так
зы: С твоей идеей с интерполяцией - мог бы ты пояснить более конкретно что имеешь ввиду?
EC2 - разработка игры
Мастерская Steam - мои моды для Civilization V
Last Citadel - сайт игроков Warlords III
А нафига вам футбольный мяч?
Я не настолько молод, чтобы знать все. Оскар Уайлд
Гуманитарии всех стран, соединяйтесь!
для реализьму
EC2 - разработка игры
Мастерская Steam - мои моды для Civilization V
Last Citadel - сайт игроков Warlords III
<div class='quotetop'>Цитата(Peter * 25.5.2009, 18:33) [snapback]289053[/snapback]</div>Да? разве мир в шестиогольниках - это реально? Вы - пчелы?для реализьму
[/b]
Где-нибудь видел стратегические глобусы?
Я не настолько молод, чтобы знать все. Оскар Уайлд
Гуманитарии всех стран, соединяйтесь!
<div class='quotetop'>Цитата(BuDDaH * 25.5.2009, 18:46) [snapback]289056[/snapback]</div><div class='quotetop'>Цитата(Peter * 25.5.2009, 18:33) [snapback]289053[/snapback]Да? разве мир в шестиогольниках - это реально? Вы - пчелы?для реализьму
[/b]
Где-нибудь видел стратегические глобусы?
[/b][/quote]
может быть ты видал стратегический цилиндр?
реально - это когда можно через северный полюс ракету к примеру запустить. или проплыть - если там льда нет. а вдруг там вообще какая нибудь гиперборея.
а мир в шестиугольниках не менее (даже я бы сказал поболее) реален чем мир в клеточку.
EC2 - разработка игры
Мастерская Steam - мои моды для Civilization V
Last Citadel - сайт игроков Warlords III
может хватит флудить (
EC2 - разработка игры
Мастерская Steam - мои моды для Civilization V
Last Citadel - сайт игроков Warlords III
Чтобы не потерять - трёхмерные координаты вершин икосаэдра
<div class='quotetop'>Цитата</div>#define X .525731112119133606
#define Z .850650808352039932
static GLfloat vdata[12][3] = {
{-X, 0.0, Z}, {X, 0.0, Z}, {-X, 0.0, -Z}, {X, 0.0, -Z},
{0.0, Z, X}, {0.0, Z, -X}, {0.0, -Z, X}, {0.0, -Z, -X},
{Z, X, 0.0}, {-Z, X, 0.0}, {Z, -X, 0.0}, {-Z, -X, 0.0}
};
static GLint tindices[20][3] = {
{0,4,1}, {0,9,4}, {9,5,4}, {4,5,8}, {4,8,1},
{8,10,1}, {8,3,10}, {5,3,8}, {5,2,3}, {2,7,3},
{7,10,3}, {7,6,10}, {7,11,6}, {11,0,6}, {0,1,6},
{6,1,10}, {9,0,11}, {9,11,2}, {9,2,5}, {7,2,11} };
for (i = 0; i < 20; i++) {
/* color information here */
glBegin(GL_TRIANGLE);
glVertex3fv(&vdata[tindices[i][0]][0]);
glVertex3fv(&vdata[tindices[i][1]][0]);
glVertex3fv(&vdata[tindices[i][2]][0]);
glEnd();
}[/b]
Математики блин, глаза раскройте! Весь мир в клеточку и квадратный, даже экран у компа квадратный, аватары квадратные, а вы шарик делать хотите
Я не настолько молод, чтобы знать все. Оскар Уайлд
Гуманитарии всех стран, соединяйтесь!
<div class='quotetop'>Цитата</div>Святая правда!Весь мир в клеточку и квадратный[/b]
Вот у меня, например, с утра обычно голова квадратная, а глаза в сильно вытянутый прямоугольник (щолочку)
<div class='quotetop'>Цитата(General * 25.5.2009, 21:36) [snapback]289078[/snapback]</div>Чтобы не потерять - трёхмерные координаты вершин икосаэдра
<div class='quotetop'>Цитата[/b][/quote]#define X .525731112119133606
#define Z .850650808352039932
static GLfloat vdata[12][3] = {
{-X, 0.0, Z}, {X, 0.0, Z}, {-X, 0.0, -Z}, {X, 0.0, -Z},
{0.0, Z, X}, {0.0, Z, -X}, {0.0, -Z, X}, {0.0, -Z, -X},
{Z, X, 0.0}, {-Z, X, 0.0}, {Z, -X, 0.0}, {-Z, -X, 0.0}
};
static GLint tindices[20][3] = {
{0,4,1}, {0,9,4}, {9,5,4}, {4,5,8}, {4,8,1},
{8,10,1}, {8,3,10}, {5,3,8}, {5,2,3}, {2,7,3},
{7,10,3}, {7,6,10}, {7,11,6}, {11,0,6}, {0,1,6},
{6,1,10}, {9,0,11}, {9,11,2}, {9,2,5}, {7,2,11} };
for (i = 0; i < 20; i++) {
/* color information here */
glBegin(GL_TRIANGLE);
glVertex3fv(&vdata[tindices[i][0]][0]);
glVertex3fv(&vdata[tindices[i][1]][0]);
glVertex3fv(&vdata[tindices[i][2]][0]);
glEnd();
}[/b]
спасибо!
остается разбить грани и спроецировать вершины на поверхность сферы. завтра с утра займусь.
EC2 - разработка игры
Мастерская Steam - мои моды для Civilization V
Last Citadel - сайт игроков Warlords III
<div class='quotetop'>Цитата(BuDDaH * 25.5.2009, 21:40) [snapback]289079[/snapback]</div>Вам, гуманитариям, нас не понятьМатематики блин, глаза раскройте! Весь мир в клеточку и квадратный, даже экран у компа квадратный, аватары квадратные, а вы шарик делать хотите
[/b]
Скоро, если получится, представлю свою готовую модель круглой Земли!!! (очень простую)
<div class='quotetop'>Цитата(akots * 27.5.2009, 23:09) [snapback]289432[/snapback]</div>Пока все что-то спорят о том, чего еще нет и что еще не начиналось и т.д., я полдня потратил на то, чтобы построить Землю-шар. Короче, из всех рассмотренных вариантов в 3D, ничего не получилось. Фигурки, покрывающие сферу либо разного размера, либо нарушается соприкосновение точек. Вообще поверхность сферы --- это крайне сложная поверхность, потому что представляет неевклидово пространство. Поэтому решил не городить огород и предлагаю тоже проекцию Земли на окружности, разбитую на квадратики. (Идею с проекцией впервые выдвинул Generel). Раз уж игра все равно будет в псевдо3D, то вот мой вариант: [attachmentid=4896]. Лучше и проще все равно ничего не найдется. И еще --- это только макет, на настоящей Земле квадратиков будет гораздо-гораздо больше. Смотрим, обсуждаем...А вот как раз отображение мира на поверхности сферы было бы крайне интересно!
[/b]
И еще: хорош уже блин спорить, обвинять друг друга (всех касается!!!), тыкать носом друг друга, кто умнее и т.д. полтемы уже нафлудили! Идите по ссылке наверху в ППЦ, там и отвечайте друг другу сколько хотите. У меня кстати свое мнение: чтобы не было движение в слепую (как в е-цив), нужно чтобы было видно куда будет двигаться отряд противника в следующий ход, чтобы можно было его перехватить.
Но в таком случае один квадратик в приполярных областях занимает намного больше реальной площади, чем один квадратик у экватора.
Посмотрим, может у Peter'а получиться с интерполяциями икосаэдра.
Кстати, как это неэвклидово пространство? Если ты имеешь в виду геометрию Римана, так она прочвляется только если проводить линии на самой сфере, а сфера сама по себе - вполне себе поверхность в эвклидовом пространстве
<div class='quotetop'>Цитата(superregistr * 28.5.2009, 0:32) [snapback]289436[/snapback]</div>я предлагал уже решение - сделать их перекрывающими. еще - видимо, ты брал сферу слишком мелкого радиуса (я так понял, что ты строил 3Д модель).Пока все что-то спорят о том, чего еще нет и что еще не начиналось и т.д., я полдня потратил на то, чтобы построить Землю-шар. Короче, из всех рассмотренных вариантов в 3D, ничего не получилось. Фигурки, покрывающие сферу либо разного размера, либо нарушается соприкосновение точек.
[/b]
<div class='quotetop'>Цитата(superregistr * 28.5.2009, 0:32) [snapback]289436[/snapback]</div>какая же это проекция земли? это ерунда какая-топроекцию Земли на окружности, разбитую на вадратики. (Идею с проекцией впервые выдвинул Generel). Раз уж игра все равно будет в псевдо3D, то вот мой вариант: [attachmentid=4895].
[/b]
проекция сферы (частный случай эллипсоида) на плоскость делается так: http://www.cultinfo.ru/fulltext/1/001/008/059/563.htm.
я не занимался раньше 3Д графикой, но сейчас на работе возможно придется с этим столкнуться (после отпуска - в июне я ухожу в отпуск). если я буду этим заниматься, я буду делать трехмерную модель сферы с объектами на ней. если не буду - рассмотрю вариант с проекциями сферы на плоскость. сейчас у меня уже практически готов алгоритм построения графа поверхности сферы на основе рекурсивного разбиения вписанного икосаэдра. остается доработать некоторые детали и запрограммировать.
EC2 - разработка игры
Мастерская Steam - мои моды для Civilization V
Last Citadel - сайт игроков Warlords III
<div class='quotetop'>Цитата(Peter * 28.5.2009, 8:15) [snapback]289467[/snapback]</div>Где выбирал для граней точки, откуда будут вырастать пирамидки? В точке пересечения медиан или биссектрис?сейчас у меня уже практически готов алгоритм построения графа поверхности сферы на основе рекурсивного разбиения вписанного икосаэдра. остается доработать некоторые детали и запрограммировать.
[/b]
<div class='quotetop'>Цитата(General * 28.5.2009, 10:34) [snapback]289475[/snapback]</div><div class='quotetop'>Цитата(Peter * 28.5.2009, 8:15) [snapback]289467[/snapback]Где выбирал для граней точки, откуда будут вырастать пирамидки? В точке пересечения медиан или биссектрис?сейчас у меня уже практически готов алгоритм построения графа поверхности сферы на основе рекурсивного разбиения вписанного икосаэдра. остается доработать некоторые детали и запрограммировать.
[/b]
[/b][/quote]
просто делю пополам все отрезки (треугольники то правильные):
сейчас у меня возникла необходимость определять угол при вершине сферического треугольника - я использую сферическую систему координат. в принципе можно переводить в декартовы и рассчитывать угол между векторами но мне кажется должно быть более простое решение.
EC2 - разработка игры
Мастерская Steam - мои моды для Civilization V
Last Citadel - сайт игроков Warlords III
зы: все, разобрался с углом
EC2 - разработка игры
Мастерская Steam - мои моды для Civilization V
Last Citadel - сайт игроков Warlords III
<div class='quotetop'>Цитата(General * 28.5.2009, 1:11) [snapback]289443[/snapback]</div>как бы изогнутое пространство, не выполняется формула по вычисленю расстояния между двумя точками --- неевклидово пространство.Кстати, как это неэвклидово пространство? Если ты имеешь в виду геометрию Римана, так она прочвляется только если проводить линии на самой сфере, а сфера сама по себе - вполне себе поверхность в эвклидовом пространстве
[/b]
<div class='quotetop'>Цитата(General * 28.5.2009, 1:11) [snapback]289443[/snapback]</div>Да, я имею в виду линии на самой сфере.Кстати, как это неэвклидово пространство? Если ты имеешь в виду геометрию Римана, так она прочвляется только если проводить линии на самой сфере, а сфера сама по себе - вполне себе поверхность в эвклидовом пространстве
[/b]
Вот две программы про сферы
http://ifolder.ru/12449748
и еще длл-файлы
http://ifolder.ru/12449667
Все кинуть в одну папку. Крутить фигуры мышкой. Суть программ --- нельзя построить сферу из равносторонних треугольников, чтобы у них совпадали вершины. E1a иллюстрирует, что для того, чтобы совпадали вершины, треугольники не будут равносторонними. Будут все больше и больше сокращаться по основанию. E1b иллюстрирует квазиравносторонние треугольники, которые не совпадают в вершинах. Их можно рассматривать как узлы, про которые говорил Петер. Как видно, они все распределены не на одинаковом расстоянии (имеется в виду соседние ряды). Причина -- поверхность сферы как пространство -- неевклидово пространство (т.е. то, что вы нарисуете и листе бумаге и перенесете на сферу не совпадет). Идея, что поверхности будут утопать друг в друге представляется мне трудно реализуемой. Думаю дальше...