Предлагаю сообща поработать над виртуальной арт-галереей

Интернет, Софт, Сайтостроительство и SEO

Модератор: messir

Re: Предлагаю сообща поработать над виртуальной арт-галереей

Сообщение Nicko » 23 июл 2010, 21:16

Нашел я план одной бесхитростной галереи. http://nakashirke.narod.ru/plan.html ее адрес. Там можно на фотографиях посмотреть и внутреннее убранство. Будем делать что-то похожее.
Мне тут мозг сверлил вопрос единства цели, коллективной ответственности и автономности каждого участника и придумал следующую мысль :D . На примере нас пока двоих это выглядит так: я как важный строитель :lol: строю. Строю на своем сайте и указываю адрес строящегося помещения (а не пересылаю тебе каждый раз немножко достроенный объект). Ты, имея математическое описание проекта, вешаешь картины на свое усмотрение. Причем можешь вешать на еще не построенные стенды. И даешь ссылку на картины. Эти два файла можно объединить в один ты у себя, я у себя (я покажу как). И будет два совершенно одинаковых галереи. Каждый, кто захочет, сможет добавлять что-то от себя на своем сайте, используя ту же технологию. Он может давать или не давать адрес своих ДОБАВЛЕНИЙ. Каждый по желанию будет включать или не включать добавления в свою галерею. Более того, любой желающий сможет навешивать свои картины на существующие стенды, устанавливать свои стенды и заказывать навеску картин на них ну и т.д. Каждый член команды сможет вносить свою лепту в грандиозную стройку :D . А потом посмотрим, кто и что будет делать лучше. Понятно, что информация остается открытой. Кстати за информацию. http://www.web3d.org/x3d/specifications ... 72-VRML97/ -- по этому адресу находится спецификация на используемый язык. Эта информация открыта и общедоступна. Другое дело как ее использовать. У меня также имеется книга по языку в формате .djvu. Скажи куда тебе ее сбросить. Ты сможешь сама себя обучать. Я, конечно же, отвечу (если смогу) на все возникающие по ходу работы вопросы.
Это одно и то же но совершенно разные вещи. Не веришь? Смотри тут: www.3dg.com.ua
Аватара пользователя
Nicko
Свой
 
Сообщения: 66
Зарегистрирован: 12 июн 2010, 18:18

Re: Предлагаю сообща поработать над виртуальной арт-галереей

Сообщение Luna_Kat » 23 июл 2010, 22:23

Прочла, в принципе поняла, но пока не совсем все это в целом получается представить, но еще утром перечитаю и, вероятно, на свежую голову соображу больше :) А книгу можете выслать сюда - kat-starkova@yandex.ru
Пусть твоя улыбка изменит мир, но не позволяй миру изменить твою улыбку!
Аватара пользователя
Luna_Kat
Бывалый
 
Сообщения: 47
Зарегистрирован: 12 июл 2010, 18:42
Откуда: Луганск, Украина

Re: Предлагаю сообща поработать над виртуальной арт-галереей

Сообщение Nicko » 24 июл 2010, 21:56

Ну что же. Кое-как поставил стенды высотой по 3 метра и толщиной 20 см. Длина каждого из них легко считается с плана. Я не стал его засорять лишними значками. Расстояние между линиями разметки 1 метр. Текстуру нанесу позже. Ее еще нужно подобрать. Установил посетителя на входе. Тебе же нужно навесить картины. Ты, конечно, вначале растеряешься, потом спросишь как? Хороший вопрос. Попробую ответить. Кроме примитивов в виртуальном мире используются и другие геометрические объекты. Поговорим о, как мне кажется, самом необходимом. Трудно создать органическое тело с мягкими изгибами (лицо допустим) с помощью цилиндров и конусов. Эти изогнутые поверхности строят и многоугольников. Чаще всего из треугольников, так как в пространстве через три точки всегда можно провести плоскость. У нас объект (картина) плоский по своей природе потому мы построим его в виде четырехугольника. На него налепим картину в виде текстуры. Узел называется IndexedFaceSet – индексированное множество плоскостей. Каждая вершина плоскости задается тройкой координат в пространстве и задается порядок обхода этих вершин. Вручную построить что-нибудь путное не получится. Это делают в пакетах трехмерного моделирования (как у тебя, кстати, со знанием таких пакетов). В нашем случае одного прямоугольника это легко сделать вручную. Допустим картина 0,6*0,8 (ширина * высота в метрах). В прямоугольной системе координат XY задаем вершины таким образом, что бы центр картины имел координаты 0,0, а координата Z все время была равна 0. Таким образом, получим массив [0.3 0.4 0, -0.3 0.4 0, -0.3 -0.4 0, 0.3 -0.4 0]. Думаю нужно прицепить картинку.
Кроме координат нужно задать направление обхода этих вершин. Дело в том, что (если без подробностей) отображается только та сторона, которая будет слева, если идти пешком по краю от вершины к вершине. Короче обходить нужно против часовой стрелки. Завершается этот массив индексов числом -1. В нашем случае это будет [0 1 2 3 -1]. Номера вершин начинаются с 0. Если собрать все вместе, получим следующий фрагмент:
Shape {
geometry IndexedFaceSet {
coord Coordinate {
point [0.3 0.4 0, -0.3 0.4 0, -0.3 -0.4 0, 0.3 -0.4 0]
}
coordIndex [0 1 2 3 -1]
}
}
Разберись в этом, а там уже и до картины недалеко.

Кроме того пробую реализовать придуманную мысль с разделением. Я присылаю тебе как бы основное тело программы, но там все стенды вставляются в тело с помощью узла Inline. Фрагмент короткий и ты его легко найдешь. Он описан в книге. Если этот фрагмент запустить на выполнение, то он полезет на мой сайт, и будет там искать недостающую информацию. Т.е. я пытаюсь разделить данные. Если я завтра там что-то поменяю, то это автоматически отобразится у тебя. Во всяком случае, хочется чтобы так было.
#VRML V2.0 utf8
EXTERNPROTO WorldBackground [
]
"http://www.3dg.com.ua/vrgallery/scenes/protos/world_background.wrl#WorldBackground"
WorldBackground{}

NavigationInfo {
type "WALK"
headlight FALSE
}

DEF VP_ENTRANCE Viewpoint {
position 4.89485 1.59793 8.24647
orientation -0.115391 0.992672 0.0358736 0.606718
fieldOfView 1.05
description "VP_ENTRANCE"
}

################################################################################

Inline {
url "http://www.3dg.com.ua/vrgallery/scenes/inLine/stendes.wrl"
}

################################################################################

Место под картины


################################################################################

DEF LIGHT_KEY DirectionalLight {
direction -0.594 0.031 -0.808
}
DEF LIGHT_FILL DirectionalLight {
direction -0.593 -0.527 0.609
}
DEF LIGHT_KICKER DirectionalLight {
direction 0.868 -0.036 -0.493
}
### -- End -- ###
Вложения
001.gif
001.gif (9.73 Кб) Просмотров: 44
perspView.png
Plan.gif
Plan.gif (10.76 Кб) Просмотров: 44
Это одно и то же но совершенно разные вещи. Не веришь? Смотри тут: www.3dg.com.ua
Аватара пользователя
Nicko
Свой
 
Сообщения: 66
Зарегистрирован: 12 июн 2010, 18:18

Re: Предлагаю сообща поработать над виртуальной арт-галереей

Сообщение Nicko » 25 июл 2010, 13:26

Содержимое сайта http://www.3dg.com.ua (его направленность) и галерея делаются по одной технологии и возникающие вопросы по ее использованию нужно свести к одному центру. Поэтому, до лучших времен решили, что вход в галерею следует сделать на главной странице этого сайта. Речь идет о совместном проекте. Каждый из участников волен строить свою галерею (приглашая помощников или обходясь своими силами) там, где ему захочется и ему будет оказана всяческая поддержка.
Это одно и то же но совершенно разные вещи. Не веришь? Смотри тут: www.3dg.com.ua
Аватара пользователя
Nicko
Свой
 
Сообщения: 66
Зарегистрирован: 12 июн 2010, 18:18

Re: Предлагаю сообща поработать над виртуальной арт-галереей

Сообщение Luna_Kat » 26 июл 2010, 10:41

С тем, что вы писали про узел IndexedFaceSet я разобралась. А вот что мне нужно (или не нужно) делать с тем кодом, который размещен ниже, я что-то не соображу.. :sorry:
Пусть твоя улыбка изменит мир, но не позволяй миру изменить твою улыбку!
Аватара пользователя
Luna_Kat
Бывалый
 
Сообщения: 47
Зарегистрирован: 12 июл 2010, 18:42
Откуда: Луганск, Украина

Re: Предлагаю сообща поработать над виртуальной арт-галереей

Сообщение Nicko » 26 июл 2010, 17:02

Чисто молодец! Конкретно.
То, что не разобралась, не проблема. Я сам с трудом понимаю. Я умею, не поняв простую вещь еще больше ее запутать. Давай разбираться в свете новой концепции (вот же слово мне нравится, не знаю только, что оно обозначает). Итак, по порядку. Работают несколько человек над одним проектом. Бесплатный хостинг не годится. Но даже если его использовать, то все желающие туда добавить чего-нибудь от себя сделают проект вряд ли выполнимым. Нужен кто-то один курирующий этот процесс. Кто будет не пущать и стращать. Боюсь показаться нескромным, но на текущий момент это придется делать мне. Если кто-то хочет этим заниматься, пожалуйста. Если мне доверяют эту высокую должность :D , тогда имеем следующее: у меня есть доступ к оплаченному хостингу и я предлагаю там разместить строительство. До лучших времен. Сайт, находящийся под доменом http://www.3dg.com.ua строится по той же технологии, так что все проблемы будут решаться одновременно. Участники проекта, имеющие свои сайты смогу поступать двояко. Присылать свои модули с описанием, и я их буду подключать к главному проекту, либо они будут свои модули размещать на своих сайтах и тогда нужны будут две вещи. Во-первых, каждый должен иметь у себя корневой модуль (я его и посылаю), который все собирает в единое целое с помощью узлов Inline и туда вставлять через этот узел свои наработки и, во-вторых, давать адреса другим участникам с тем что бы и они могли пользоваться ими (наработками). Как это сделал я.Теперь как это выглядит физически.

Корневой модуль.

#VRML V2.0 utf8

EXTERNPROTO WorldBackground [
]
"http://www.3dg.com.ua/vrgallery/scenes/protos/world_background.wrl#WorldBackground"
WorldBackground{}

NavigationInfo {
type ["WALK"]
headlight FALSE
avatarSize [.25 1.7 0 0 0 0]
}

DEF VP_ENTRANCE Viewpoint {
position 5.28595 1.7 8.17335
orientation -0.101315 0.993899 0.0435937 0.839508
fieldOfView 1.05
description "VP_ENTRANCE"
}


################ -- Стенды, Крыша, Грунт -- ####################################
Inline {
url "http://www.3dg.com.ua/vrgallery/scenes/inLine/stendes.wrl"
}
Inline {
url "http://www.3dg.com.ua/vrgallery/scenes/inLine/kupol_pol.wrl"
}
Inline {
url "http://www.3dg.com.ua/vrgallery/scenes/inLine/poverxnost_zemli.wrl"
}

############## -- Картины галереи -- ############################################

Inline {
url "http://www.3dg.com.ua/vrgallery/contentExb/cont_002.wrl"
}


############# -- Освещение -- ###################################################

DEF LIGHT_KEY DirectionalLight {
direction -0.594 0.031 -0.808
}
DEF LIGHT_FILL DirectionalLight {
direction -0.593 -0.527 0.609
}
DEF LIGHT_KICKER DirectionalLight {
direction 0.868 -0.036 -0.493
}
### -- End -- ###
Как видно из значений полей узла Inline сейчас этот модуль все стаскивает с:
http://www.3dg.com.ua/vrgallery/...
В части стенды, стенки, крыша так и надо. Мы так договаривались. Но что касается картин, то тут требуется поменять мои жалкие упражнения
http://www.3dg.com.ua/vrgallery/contentExb/cont_002.wrl
на тот адрес, который дашь ты.
Другими словам. Если ты корневой модуль модуль разместишь у себя на сайте, то получишь то же, что и меня. Если ты навесишь картин и последний адрес в программе поменяешь на свой, то стенды и крыша останутся, а картины и их размещение будет таким, как указала ты.
Это одно и то же но совершенно разные вещи. Не веришь? Смотри тут: www.3dg.com.ua
Аватара пользователя
Nicko
Свой
 
Сообщения: 66
Зарегистрирован: 12 июн 2010, 18:18

Re: Предлагаю сообща поработать над виртуальной арт-галереей

Сообщение Luna_Kat » 26 июл 2010, 17:21

Теперь, кажется, все, что вы сказали, мне понятно :)
Пусть твоя улыбка изменит мир, но не позволяй миру изменить твою улыбку!
Аватара пользователя
Luna_Kat
Бывалый
 
Сообщения: 47
Зарегистрирован: 12 июл 2010, 18:42
Откуда: Луганск, Украина

Re: Предлагаю сообща поработать над виртуальной арт-галереей

Сообщение Nicko » 26 июл 2010, 18:00

Это одно из двух: или ты смышленая и я хорошо объяснил или ты очень смышленая и я плохо объяснил :D . Нам нужно обязательно потренироваться. И все у нас получится, я уверен.
Это одно и то же но совершенно разные вещи. Не веришь? Смотри тут: www.3dg.com.ua
Аватара пользователя
Nicko
Свой
 
Сообщения: 66
Зарегистрирован: 12 июн 2010, 18:18

Re: Предлагаю сообща поработать над виртуальной арт-галереей

Сообщение Luna_Kat » 26 июл 2010, 18:07

Это вы хорошо объяснили :) Я тоже надеюсь, что у нас все получится и что я не испугаюсь и не захочу все бросить, когда у меня не будет получаться.. но я надеюсь, что такая беда не случится :bk:
Пусть твоя улыбка изменит мир, но не позволяй миру изменить твою улыбку!
Аватара пользователя
Luna_Kat
Бывалый
 
Сообщения: 47
Зарегистрирован: 12 июл 2010, 18:42
Откуда: Луганск, Украина

Re: Предлагаю сообща поработать над виртуальной арт-галереей

Сообщение Nicko » 26 июл 2010, 19:50

Спасибо за похвалу :oops: . Значит, есть еще порох там, где ему положено быть :D . А тебе чего пугаться. Никто в шею не гонит. Постепенно все сделаем. Но, по правде говоря, я смутно представляю, где у этого проекта конец. Площадей, на которых можно строить ну просто немеряно. В высоту можно строить небоскребы по 10 000 и более этажей. Подземные строения в глубину могут тянуться на миллионы километров. Это тебе как? Так что учись. Работая, учеба не кажется такой уж скучной. Главное выдавай какие-нибудь результаты. Пусть с ошибками. Это нормально. Исправляя их, учишься. Я же делаю то же самое.
Это одно и то же но совершенно разные вещи. Не веришь? Смотри тут: www.3dg.com.ua
Аватара пользователя
Nicko
Свой
 
Сообщения: 66
Зарегистрирован: 12 июн 2010, 18:18

Re: Предлагаю сообща поработать над виртуальной арт-галереей

Сообщение Nicko » 28 июл 2010, 13:18

Чего молчим, кого ждем? :D Катенька, что-нибудь случилось? :(
Это одно и то же но совершенно разные вещи. Не веришь? Смотри тут: www.3dg.com.ua
Аватара пользователя
Nicko
Свой
 
Сообщения: 66
Зарегистрирован: 12 июн 2010, 18:18

Re: Предлагаю сообща поработать над виртуальной арт-галереей

Сообщение Luna_Kat » 28 июл 2010, 16:09

К счастью, ничего не случилось. Извиняюсь, за временные пропадания, работой сильно грузят :( Но я никуда не счезну. К ночи снова начну разбираться в галерее. Я разместила у себя на сайте корневой модуль. Понимаю, как указать координаты размещения картины, но я что-то не пойму, как указать, на какой именно из стен картин дожна висеть.. что-то я совсем запуталась.. :an:
Пусть твоя улыбка изменит мир, но не позволяй миру изменить твою улыбку!
Аватара пользователя
Luna_Kat
Бывалый
 
Сообщения: 47
Зарегистрирован: 12 июл 2010, 18:42
Откуда: Луганск, Украина

Re: Предлагаю сообща поработать над виртуальной арт-галереей

Сообщение Nicko » 28 июл 2010, 17:38

То, что ничего не случилось хорошо. И когда работы много тоже хорошо. Этот проект вроде развлечения. Пока. А потом будет видно. У меня в голове крутятся всякие мысли, что бы сделать его коммерческим, но пока только идеи. А от идеи до законченного изделия путь бывает очень длинным. Я им занимаюсь, потому что интересно. Если есть свободное время, я что-нибудь меняю или добавляю (и любуюсь :D ). Я ведь тоже учусь. Просто у меня немножко больше опыта и мне все это легче дается. Кстати я на твой адрес вышлю обновленный корневой модуль. Это единственное, что нужно тебе иметь у себя на сайте. Все остальное подгружается автоматически. Я так думаю. Если нет, обязательно сообщи. Это нужно устранять. Что касается «на какой из стен», то кто из нас главный дизайнер? :D Повесим, потом посмотрим. Если не по феншую, перевесим.
Это одно и то же но совершенно разные вещи. Не веришь? Смотри тут: www.3dg.com.ua
Аватара пользователя
Nicko
Свой
 
Сообщения: 66
Зарегистрирован: 12 июн 2010, 18:18

Re: Предлагаю сообща поработать над виртуальной арт-галереей

Сообщение Luna_Kat » 28 июл 2010, 21:53

Корневой модуль получила, загрузила, все нормально. Говоря про стены, я имела в виду, как указать выбранную стену. То есть там же много стен, если я захочу повесить картину на стену, слева от той, на которой картина уже висит, как это можно будет указать, чтобы она весела именно на той стене? Я что-то пропустила, забыла, не поняла или мы это еще не рассматривали? :)
Пусть твоя улыбка изменит мир, но не позволяй миру изменить твою улыбку!
Аватара пользователя
Luna_Kat
Бывалый
 
Сообщения: 47
Зарегистрирован: 12 июл 2010, 18:42
Откуда: Луганск, Украина

Re: Предлагаю сообща поработать над виртуальной арт-галереей

Сообщение Nicko » 29 июл 2010, 12:40

Первым делом я уменьшил размер картины (Интернет все-таки). Без фанатизма. Что бы был разумный баланс между размером и качеством. Это можно обсудить позже. Я брал картину с сайта http://art-on-line.com.ua/. На этом сайте даны размеры картин, поэтому ничего не надо угадывать. В частности у этой 120см х 80см (1,2м х 0,8м). Возможно, понадобиться не значительная доработка в фотошопе. Но думаю это уже по согласованию с автором. А то я лично многие «шедевры» просто переделал бы. Теперь о носителе картины. Я пробовал цеплять просто на IndexedFaceSet, а потом на стенку, но смотрится это как нарисованное на стенке. Пробовал засунуть в рамку, но сама рамка должна соответствовать картине, а это оказалось для меня трудным делом. Я остановился на параллелепипеде (каркас), на который прилеплена картина. Ты, как дизайнер, находи свое решение. В конце концов, картину можно прилепить на конус и сказать «это мое видение» :D или «дизайнера всякий может обидеть» :D . Так вот в точке с координатами (0,0,0) строим :D Box черного или темно-коричневого цвета с размерами по ширине и высоте на 0,01м больше размера самой картины. И толщиной 0,02м (2см).
Transform {
translation 0 0 0
children [
Shape {
appearance Appearance {
material Material {
diffuseColor .09 .03 0
specularColor .22 .1 .1
ambientIntensity .01
shininess .05
}
}
geometry Box {size 1.21 .81 .02}
}
]
}
Теперь сама картина.
Transform {
translation 0 0 .011
children [
Shape {
geometry IndexedFaceSet {
solid FALSE
coord Coordinate { point [
-0.6 -0.4 0, 0.6 -0.4 0, 0.6 0.4 0, -0.6 0.4 0]
}
texCoord TextureCoordinate { point [
0 0, 1 0, 1 1, 0 1]
}
coordIndex [
0 1 2 3 -1]
texCoordIndex [
0 1 2 3 -1]
}
appearance Appearance {
material Material {
emissiveColor 1 1 1
diffuseColor 0 0 0
}
texture ImageTexture {
url "твоя картина.jpg"
}
}
}
]
}
Поясняю. В начальный момент времени полотно картины, как и каркас картины, находится в точке с координатами (0,0,0). Если это сооружение повесить в зале, то посетитель (сто бочек ему на голову :D ) будет видеть только каркас. Что бы картина проявилась, необходимо ее выдвинуть на передний план. На расстояние чуть большее, чем половина толщины картины. В нашем случае при толщине каркаса 0,02м это будет 0,011м. Другими словами полотно картины будет на расстоянии 0,001м от поверхности каркаса. Этим выдвижением занимается
Transform {
translation 0 0 .011
children [
Теперь объединим картину с каркасом в один узел. Определяющим будет узел каркаса. Это значит что в узел каркаса с координатами пока (0,0,0), а именно в его поле children (потомки, дети) включим узел описывающий картину. Что бы было лучше видно, что куда включено, прилеплю картинку
001.gif
что куда вставлено

Осталось это сооружение повесить. Для простоты, возьмем стенку параллельную оси X и которая лицом направлена по оси Z (иначе придется все это вращать, а этого мы, по-моему, не проходили). Опять нужна картинка для ясности.
002.jpg
выбор места для картины

Подходящую стенку я отметил красным крестиком. Как видно из рисунка стенка находится на расстоянии по Z от центра (т.О с координатами (0,0,0)) в сторону отрицательных значений и до начала стенки по оси X в сторону положительных значений. По высоте (координата Y) возьмем значение 1,7м к примеру. Что касается координаты по Z, то нужно учесть следующее. Толщина стенки 0,2м, следовательно координата размещения по Z должна быть уменьшена на 0,1м. Затем минус половины толщины каркаса -- 0,01м ну и небольшой отступ от стенки. Это еще минус 0,01м. Теперь разместим вдоль стенки на расстоянии 1м от начала стенки (в данном случае начало находится слева). по оси X от оси Z плюс уже от края стенки. Итого . Теперь в узле каркаса все вместе
Transform {
translation 3 1.7 -2.88
children [
Я опять наверное круто взнуздал. Пиши вопросы. По частям все решим. Картину я повесил. Ее полный адрес: http://art-on-line.com.ua/index.php?pag ... &Itemid=35
(в одну строчку не поместился).
Это одно и то же но совершенно разные вещи. Не веришь? Смотри тут: www.3dg.com.ua
Аватара пользователя
Nicko
Свой
 
Сообщения: 66
Зарегистрирован: 12 июн 2010, 18:18

Пред.След.

Вернуться в Компьютерные

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

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

cron