Показать сообщение отдельно
Старый 20.10.2009, 18:33   #5
FireOwl
Бывалый
 
Аватар для FireOwl
 
Регистрация: 16.09.2009
Адрес: Sun system
Сообщений: 831
Написано 442 полезных сообщений
(для 1,836 пользователей)
Ответ: Копание земли...

Нет проблем! =)

Я имел ввиду, что надо создать стандартный Blitz-террайн. Затем получить координаты ямы, взять ближайшуу вершину террайна, высчитать остальные вершины в радиусе ямы и опустить их по очереди вниз.

Мой грубый и неоптимизированный вариант таков: =)

for r=0 to radius
   for c=0 to 360
      x=sin(c)*r+x0
      y=cos(c)*r+y0
      MoveВершинаТеррайна x,y,0,-depth,0         ; черт, забыл оператор =)
   next
next
где x0,y0 - координаты вершины ямы
depth - глубина ямы
radius - само собой радиус

Кстати, если не проверять вершины на "уже опущеность" некоторые будут опущены вниз по нескольку раз...

З.Ы. Проверить ничего не могу - сейчас нет под рукой компилятора, и не будет ближайшие 2 часа... =(
__________________
N"Gasta! Kvata! Kvakis!
Ahkstas so novajxletero (oix jhemile) so Ranetauw.
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо FireOwl за это полезное сообщение:
Baisangur (20.10.2009), PackegerX (16.01.2010)