Понедельник, 18 Ноября 2024, 10:40

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Серво привод
Excalibur921Дата: Среда, 22 Июля 2015, 14:12 | Сообщение # 1
уже был
Сейчас нет на сайте
Как сделать серво в 3d Rad 650? Может есть готовые?
Вроде тут есть но только для 3d Rad 722 но он у меня не пашет…
http://www.3draddict.com/robotics--the-mindstorms-project.html
Вчера поставил 3drad …хотел попробовать и Unity но он не запустился никакой версии.

Добавлено (22 июля 2015, 10:19)
---------------------------------------------
Серво это палка которая крутиться вокруг оси в пространстве, нажимаем кнопку вправо крутиться вправо…

Потом к этой палке присоединяем через шарнир механизм и можно двигать элероны крыла…строить шагающего робота, модели техники… всюду где нужно управлять механизмами. Крутиться не силой а нахождением координат на окружности вокруг оси произвольно расположенной в пространстве.

Добавлено (22 июля 2015, 14:12)
---------------------------------------------
Попробовал начать с простого, таскать куб к которому через сферический шарнир присоединен другой. Физический движок нарушает ориентацию заданную в скрипте постоянной…
3d Rad 650.

Код

Head Sprite;  

class Head  
  {  
Vector3 Loc;  
Quaternion Orient;  

  Vector3 GetLocation(int OBJ_0)   
  {  
  iObjectLocation(OBJ_0,Loc);  
  return Loc;  
  }  

Quaternion GetOrient(int OBJ_0)  
  {  
iQuaternionFromEulerAngles(Orient,0,0,0,"xyz");
  return Orient;  
  }  

  void Move(int OBJ_0, double Speed, float Nitro)  
  {  
  Loc = this.GetLocation(OBJ_0);  
  if (iKeyDown(iKeyCode("DIK_UP")))  
  {  
  Loc.y += Speed;  
  iObjectLocationSet(OBJ_0,Loc);  
  }  
  if (iKeyDown(iKeyCode("DIK_DOWN")))  
  {  
  Loc.y -= Speed;  
  iObjectLocationSet(OBJ_0,Loc);  
  }  
  if (iKeyDown(iKeyCode("DIK_RIGHT")))  
  {  
  Loc.x += Speed;  
  iObjectLocationSet(OBJ_0,Loc);  
  }  
  if (iKeyDown(iKeyCode("DIK_LEFT")))  
  {  
  Loc.x -= Speed;  
  iObjectLocationSet(OBJ_0,Loc);  
iObjectOrientationSet(OBJ_0,Orient);
}  
  }  

  string Translate(int OBJ_0)  
  {  
  string a,b,c,sum;  
  iStringStr(a,Loc.x,"%f");  
  iStringStr(b,Loc.y,"%f");  
  iStringStr(c,Loc.z,"%f");  
  sum = a+","+b+","+c+";";  
  return sum;  
  }  
  }  

  void Main()  
  {  
  Sprite.Move(OBJ_0,1,3);  
  iPrint(Sprite.Translate(OBJ_0),0,0,OBJ_22);  
  }
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг