Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.10.2013, 23:50   #1
Dizelektwo
Пользователь
 
Регистрация: 05.04.2012
Сообщений: 56
По умолчанию Определить вектора.

Доброго всем времени суток!
Я пишу физику для soft body. На данном этапе я могу определить массив вершин которые стали взаимодействовать с hard body. Определить для каждой вершины массив из ближайших вершин и рассчитать расстояние до каждой них. У меня определены 2 вектора - это вектор гравитации и вектор силы натяжения(коэффициент между вершинами) для эластичности.
Естественно, для того, что бы мягкое тело могло взаимодействовать с hard body и "обхватывать" его с разных сторон мне нужно раздать вектора сил по осям x и z. На данном этапе моя псевдо-ткань падает на объект полностью оборачивая его, но длинна и ширина материи при этом не уменьшаются. Как сделать эффект падения ткани? Как сделать так, что бы вершины которые не упали на тело это самое тело обволакивали по сторонам направление которых я задам в векторах? И самое главное- как определить вектора для них(к сведению- ближайшие точки и их координаты мне известны)?

Прошу прощения за делитантский вопрос.
Dizelektwo вне форума Ответить с цитированием
Старый 02.10.2013, 01:22   #2
Кащей
Форумчанин
 
Аватар для Кащей
 
Регистрация: 09.07.2013
Сообщений: 249
По умолчанию

Цитата:
но длинна и ширина материи при этом не уменьшаются
Если у тебя материя а не сопли, то ето вроде как и ненадо.
Цитата:
Как сделать так, что бы вершины которые не упали на тело это самое тело обволакивали по сторонам
Нужно чтобы точки соприкоснувшиеся с телом(и только они) не могли ето тело пересечь, тоесть пройти сквозь него, а значит, вектор направления движения точки прикоснувшейся к телу должен быть паралелен поверхности етого тела, но при етом нужно чтобы расстояние между точками материи не увеличивалось(чтобы она не растягивалась) под действием остальных векторов. Остальные точки пусть дальше двигаются по векторам ускорения\скорости\направления движения и гравитации.

Рассмотрим следующую ситуацию - квадратный сопливчик, расстояние между точками которого можно задать константой, он падает на шарик своим центром. Вектор гравитации имеет одинаковое направление для каждой точки и для каждой он одинаков. При соприкосновении тела с шариком, вектора соприкоснувшихся с шариком точек должны измениться в направлении, параллельном поверхности шарика в сторону направления остальных векторов(наверное хватит сложения двух векторов - гравитации и скорости), когда будет найден компромис между гравитацией и действием шарика тут и вступятся силы не дающие материи растянуться, а остальные точки с шариком не взаимодействовавшие продолжат движение и из за векторов антирастягина не смогут двигаться вечно, а значит обволокут предмет и пока ткань с шарика не слезет будут болтаться, хотя абсолютная упругость может дать неожиданный эффект, так как ткань в данном примере не имеет ни упругости ни веса.А пардон. у тебя есть эластичность.
do not use your brain

Последний раз редактировалось Кащей; 02.10.2013 в 02:12.
Кащей вне форума Ответить с цитированием
Старый 11.10.2013, 21:44   #3
Dizelektwo
Пользователь
 
Регистрация: 05.04.2012
Сообщений: 56
По умолчанию

Благодарю! Я понял в каком направлении мне двигаться.
Dizelektwo вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Даны два вектора b=(b1,b2,...,b6),x=(x1,x2,...,x6) и матрица А(6х6).написать программу вычисления длины вектора Ax-b. infern_o Паскаль, Turbo Pascal, PascalABC.NET 10 21.03.2013 10:50
дано 3 вектора. определить максимальный чётный элемент каждого вектора и упорядочить по убыванию 3Doleg Паскаль, Turbo Pascal, PascalABC.NET 0 04.12.2012 01:45
Определить множество номеров отрицательных М1; положительных (не нулевых) М2 элементов вектора .. V-Denim Помощь студентам 0 18.01.2012 18:49
Определить является ли линейно зависимы 3 заданных вектора целых чисел длиной n ArtInt Общие вопросы Delphi 5 29.05.2010 06:44
Среди 20 введёных чисел определить чётные, распечатать их, определить min Spade Помощь студентам 4 15.06.2008 18:39