Как сделать серво в 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);
}