Вверх ↑
Этот топик читают: Гость
Ответов: 27
Рейтинг: 0
#1: 2017-04-09 09:00:42 ЛС | профиль | цитата
Здравствуйте! опять я в поисках халявы
На форуме найти не удалось, есть ли у кого нибудь программа которая отображает в окне плоскость или другую фигуру, которую можно "крутить" с помощью вводимых данных.
Суть в чем: есть плата MPU-6050 3x осевой акселерометр и гироскоп, хотелось бы визуализировать положение платы в пространстве на экране монитора, то есть плата горизонтально - на мониторе тоже модель горизонтально, повернул плату, в программу отправились данные, ну скажем углы относительно каждых осей или в простейшем случае угол относительно ОДНОЙ оси, и плата на мониторе повернулась на этот угол...
в общем как на видео: https://www.youtube.com/watch?v=L_soFcZ5pWo
карма: 0

0
vip
#1.1контекстная реклама от партнеров
Ответов: 27
Рейтинг: 0
#2: 2017-04-09 11:23:52 ЛС | профиль | цитата
вроде получилось, на базе примера с форума по работе с OpenGL

Add(MainForm,4407301,14,266)
{
Width=722
Height=616
Caption="OpenGL_Lesson_06"
BorderStyle=1
Position=1
link(onCreate,7094067:doEvent1,[])
}
Add(Timer,2878705,98,364)
{
Interval=33
Enable=1
link(onTimer,10543810:doClear,[])
}
Add(GL_Main,7235558,672,287)
{
Color=15780518
link(onInit,5424116:doInit,[])
link(onViewPort,14738552:doOperation,[(712,300)(712,349)])
link(Handle,1371560:Handle,[(678,271)(720,271)])
}
Add(GL_GluTools,5424116,756,287)
{
link(onInit,1374589:doEnabled,[])
}
Add(Hub,7094067,63,280)
{
OutCount=4
link(onEvent2,7235558:doInit,[])
link(onEvent3,7235558:doViewPort,[])
link(onEvent4,2878705:doTimer,[(87,307)(87,370)])
}
Add(GL_Options,579743,840,287)
{
link(onEvent,2431623:doEnabled,[])
}
Add(GL_GTools,10543810,140,364)
{
@Hint=#1:X|
ClearStencil=1
Point(doClear)
link(onEvent,12490666:doPushMatrix,[])
AddHint(0,-19,22,13,@Hint)
}
Add(GL_Options,1374589,798,287)
{
Flag=2
link(onEvent,579743:doEnabled,[])
}
Add(GL_Light,2431623,889,287)
{
Diffuse=12632256
Specular=12632256
TypeSource=1
CutOff=300
Constant=2
link(onEnabled,2431623:doMove,[(931,293)(931,328)(880,328)(880,300)])
link(Point,8164179:Point3D,[])
}
Add(GL_Point3D,8164179,889,245)
{
}
Add(GL_GTools,12490666,182,364)
{
@Hint=#2:\/|
Point(doPushMatrix)
link(onEvent,13360347:doRotate,[])
AddHint(1,-18,25,13,@Hint)
}
Add(GL_Rotate,13360347,224,364)
{
@Hint=#17:Angle (угол) = 15|5:X = 1|5:Y = 1|5:Z = 1|
Angle=15
Z=1
link(onRotate,9180272:doScale,[(457,370)(457,328)])
link(Angle,13608063:GetData,[])
AddHint(-129,65,97,52,@Hint)
}
Add(GL_GTools,3478148,609,301)
{
@Hint=#2:/\|
Point(doPopMatrix)
link(onEvent,7235558:doFlip,[])
AddHint(-2,-27,25,13,@Hint)
}
Add(GL_Cube,4369440,546,315)
{
link(onDraw,3478148:doPopMatrix,[(594,321)(594,307)])
AddHint(-4,-27,30,13,Size)
}
Add(Math,14738552,721,343)
{
OpType=3
link(onResult,5728910:doPerspective,[])
link(Op1,1371560:Width,[])
link(Op2,1371560:Height,[])
AddHint(5,47,15,13,@Hint)
}
Add(ChildPanelEx,1371560,714,224)
{
}
BEGIN_SDK
Add(EditMultiEx,15964187,21,21)
{
VarCount=#6:Handle|5:Width|6:Height|
Width=83
Height=144
link(Handle,3796578:Handle,[(27,133)(48,133)])
link(Width,3796578:Width,[(34,140)(55,140)])
link(Height,3796578:Height,[(41,148)(62,148)])
}
Add(Panel,3796578,42,70)
{
Left=95
Top=90
Width=605
Height=400
Point(Handle)
Point(Width)
Point(Height)
}
END_SDK
Add(TrackBar,15959814,140,245)
{
Left=165
Top=515
Width=435
Max=180
Min=-180
link(onPosition,13608063:doData,[])
}
Add(EventFromData,13608063,224,245)
{
}
Add(Gl_Scale,9180272,462,322)
{
@Hint=#18:X=0.5 Y=0.1 Z=25.5|
X=1
Y=0.1
Z=1
link(onScale,4369440:doDraw,[(520,328)(520,321)])
AddHint(-32,-24,111,13,@Hint)
}
Add(GL_Perspective,5728910,763,343)
{
Aspect=0
}

--- Добавлено в 2017-04-09 11:25:18

Если у кого то есть вариант по управлению углом сразу по трем осям, то буду рад

Редактировалось 1 раз(а), последний 2017-04-09 11:25:18
карма: 0

0
Ответов: 8885
Рейтинг: 823
#3: 2017-04-09 13:25:42 ЛС | профиль | цитата
andrewproffi, там есть куча примеров, вот чуть изменённый с тремя поворотами по осям:http://forum.hiasm.com/getfile/38083
карма: 19

0
Ответов: 27
Рейтинг: 0
#4: 2017-04-09 13:49:18 ЛС | профиль | цитата
Спасибо!
карма: 0

0
4
Сообщение
...
Прикрепленные файлы
(файлы не залиты)