Сейчас 10:46:12 Пятница, 27 января, 2023 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » GUI / Jass » Огни в форме идеальной пентаграммы (Спецэффекты вызываемые поочереди)
Огни в форме идеальной пентаграммы
FatalBladeДата: Пятница, 08 Июля 2011, 14:29:39 | Сообщение # 1
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
Я слаб в тригонометрии, поэтому разобью мой вопрос на несколько:
1) - Как триггерно создать ИДЕАЛЬНЫЙ круг обьектов/эффектов
2) - Как триггерно создать внутри этого круга идеальную пятиугольную звезду, что бы углы соприкасались с окружностью круга.
3) - Как сделать что бы эффекты воспроизводились по кругу и по линиям звезды, поочереди и по последовательности точек.

Вообщем помощь тут мне нужна в самих формулах, т.е. в мат-части.


 

DallaseДата: Пятница, 08 Июля 2011, 14:48:59 | Сообщение # 2
10 уровень
Группа: Проверенные
Сообщений: 1501
Награды: 0
Репутация: 583
Блокировки:
Ты разделом не ошибся?
 

FatalBladeДата: Пятница, 08 Июля 2011, 14:55:30 | Сообщение # 3
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
Почему? Это ведь относится к ландшафту.

 

DallaseДата: Пятница, 08 Июля 2011, 15:02:59 | Сообщение # 4
10 уровень
Группа: Проверенные
Сообщений: 1501
Награды: 0
Репутация: 583
Блокировки:
Quote (FatalBlade)
Как триггерно создать

Quote (FatalBlade)
Как триггерно создать

Quote (FatalBlade)
эффекты воспроизводились

Это о-о-очень далеко от ландшафтинга, дальше этого от ландшафтинга только jass
 

FatalBladeДата: Пятница, 08 Июля 2011, 19:35:07 | Сообщение # 5
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
Цель всего этого - пентаграмма, т.е. анимированная декорация. Ландшафт. Но ладно, так и быть, я создам тему в разделе Вопросов по картостроению.

 

DallaseДата: Пятница, 08 Июля 2011, 21:43:11 | Сообщение # 6
10 уровень
Группа: Проверенные
Сообщений: 1501
Награды: 0
Репутация: 583
Блокировки:
Quote (FatalBlade)
Цель всего этого - пентаграмма

Ну так тут тебе только скажут как пентаграмму расположить, и где. Точно так же можно сказать, что модели тоже к ландшафтингу относятся, все равно их потом в игру ставить в виде декораций и юнитов
 

FkoFFДата: Пятница, 08 Июля 2011, 22:02:58 | Сообщение # 7
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
Quote (Dallase)
Это о-о-очень далеко от ландшафтинга, дальше этого от ландшафтинга только jass

глупость, то что хочет автор требует как раз только джасса, а вернее пары формул.

вообщем объясняю, надеюсь на то что автор поймет с первого раза.

1) - Polar Projection от точки центра, смещение фиксированное, угол сдвигается циклом.
2) - Polar projection от точки центра, смещение фиксированное, угол сдвигается циклом от 1 до 5 собственно с умножением индекса цикла на 360\5, в от этой точки делаешь через еще одну полярную проекцию поиск точек, смещение по углу предыдущей проекции-90, длинна с -нужного диаметра до +нужного диаметра; собственно радиус * 0.8 \2, в обе стороны (от 0).
3) - через предыдущие два пункта пускаешь по звезде и линиям эффекты.


 

DallaseДата: Пятница, 08 Июля 2011, 23:01:29 | Сообщение # 8
10 уровень
Группа: Проверенные
Сообщений: 1501
Награды: 0
Репутация: 583
Блокировки:
Quote (FkoFF)
глупость, то что хочет автор требует как раз только джасса, а вернее пары формул

Ну суть-то понятна, что он разделом ошибся, и это никак не связано с ландшатингом
 

FatalBladeДата: Суббота, 09 Июля 2011, 19:33:54 | Сообщение # 9
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
Quote (FkoFF)
смещение по углу предыдущей проекции-90

Почему -90? Разве не -72? Или 72.

Quote (FkoFF)
собственно радиус * 0.8 \2, в обе стороны (от 0).

А разве не Синус угла? И почему \2 ?

А что если просто соеденить циклами все 5 точек, каждая из которых равна Индексу * (360/5), то есть провести через них линии, например в каждой по 15-20 точек?


 

MalfattoДата: Понедельник, 11 Июля 2011, 12:39:22 | Сообщение # 10
Группа: Модераторы
Сообщений: 3806
Награды: 7
Репутация: 2425
Блокировки:
тема перенесена
 

DeadJassДата: Понедельник, 11 Июля 2011, 13:28:06 | Сообщение # 11
7 уровень
Группа: Проверенные
Сообщений: 447
Награды: 0
Репутация: 30
Блокировки:
FatalBlade,
Code
local real x=GetWidgetX(UNIT)
local real =GetWidgetY(UNIT)
  local real d=0
local real r=300
loop
     call DestroyEffect(AddSpecialEffect("ModelName",x+r*Cos(d),y+r*Sin(d)))
     exitwhen d>=6.283185
     set r=d+.174532
endloop


Вот круг.
переменная r отвечает за ширину круга тоесть его радиус. ну или диаметр от точки x and y.



^ кликабельно
Archers Of The Island v1.8 - на стадии завершения
 

[DUОS]Дата: Понедельник, 11 Июля 2011, 14:24:50 | Сообщение # 12
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
DeadJass,
А не проще ли угол циклом двигать?


НУ И ЧТО ТЕПЕРЬ?


Кликайте на дракошку ;)
 

DeadJassДата: Понедельник, 11 Июля 2011, 17:04:52 | Сообщение # 13
7 уровень
Группа: Проверенные
Сообщений: 447
Награды: 0
Репутация: 30
Блокировки:
[DUОS], Нет,мне так нравится)


^ кликабельно
Archers Of The Island v1.8 - на стадии завершения
 

ImpregnableДата: Воскресенье, 17 Июля 2011, 06:19:58 | Сообщение # 14
6 уровень
Группа: Проверенные
Сообщений: 231
Награды: 0
Репутация: 92
Блокировки:
Code

globals
     real pentagram_Cx
     real pentagram_Cy
     real pentagram_Cradius
     real pentagram_Cangle
     real pentagram_Cangleplus
     string pentagram_Cmdl

     real pentagram_x
     real pentagram_y
     real pentagram_Dline
     real pentagram_angle
     real pentagram_Dlineplus
     integer pentagram_step
     real pentagram_dist
     string pentagram_mdl

     timer pentagram_timer = CreateTimer()
endglobals

function Pentagram_NextStep takes nothing returns nothing
     if pentagram_step < 5 then
         set pentagram_x = pentagram_x + pentagram_Dline*Cos(pentagram_angle)
         set pentagram_y = pentagram_y + pentagram_Dline*Sin(pentagram_angle)
         set pentagram_angle = pentagram_angle - 2.512
     else
         call PauseTimer(pentagram_timer)
     endif
endfunction

function Pentagram_Draw takes nothing returns nothing
     set pentagram_Cangle = pentagram_Cangle + pentagram_Cangleplus
     call AddSpecialEffect( pentagram_Cmdl, pentagram_Cx+pentagram_Cradius*Cos(pentagram_Cangle), pentagram_Cy+pentagram_Cradius*Sin(pentagram_Cangle))

     set pentagram_dist = pentagram_dist + pentagram_Dlineplus
     if pentagram_dist >= pentagram_Dline then
         call AddSpecialEffect( pentagram_mdl, pentagram_x + pentagram_Dline*Cos(pentagram_angle), pentagram_y + pentagram_Dline*Sin(pentagram_angle))
         set pentagram_step = pentagram_step + 1
         set pentagram_dist = 0.
         call Pentagram_NextStep()
     else
         call AddSpecialEffect( pentagram_mdl, pentagram_x + pentagram_dist*Cos(pentagram_angle), pentagram_y + pentagram_dist*Sin(pentagram_angle))
     endif
endfunction

function DrawPentagram takes real x, real y, real angle, real radius, string Pmdl, string Cmdl, real time returns nothing
     set pentagram_Cx = x+radius*Cos(angle)
     set pentagram_Cy = y+radius*Sin(angle)
     set pentagram_Cradius = radius
     set pentagram_Cangle = angle + 3.14159
     set pentagram_Cangleplus = 6.28/(time/.05)
     set pentagram_Cmdl = Cmdl

     set pentagram_angle = angle + .314
     set pentagram_x = x + 25.*Cos(pentagram_angle)
     set pentagram_y = y + 25.*Sin(pentagram_angle)
     set pentagram_Dline = radius/.55
     set pentagram_Dlineplus = pentagram_Dline/(time/.25)
     set pentagram_dist = 0.
     set pentagram_step = 0
     set pentagram_mdl = Pmdl

     call TimerStart( pentagram_timer, .05, true, function Pentagram_Draw)
endfunction


Вызов через функцию DrawPentagram, где параметры:
1 - X точки (откуда начать рисовать)
2 - Y точки (откуда начать рисовать)
3 - угол (например между кастером и точкой !в радианах!)
4 - радиус окружности
5 - модель эффектов пентаграммы
6 - модель эффектов окружности
7 - время, за которое нарисовать

FatalBlade этот код не законченный! Как и просил только формулы, и то несовсем правильные...
 

Форум о Warcraft 3 » Раздел для картостроителей » GUI / Jass » Огни в форме идеальной пентаграммы (Спецэффекты вызываемые поочереди)
  • Страница 1 из 1
  • 1
Поиск:

Copyright © 2006 - 2023 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz