0
Я работаю над проектом kinect .. Я пытаюсь найти смещение (разницу между координатами сустава) и отправлять его через сеть с использованием TCP/IP .. Тем не менее, я столкнулся с проблемой доступа к предыдущим значениям сустава .. это мой код до сих пор:Найти смещение (разность между координатами) для Kinect
Joint right = skel.Joints[JointType.HandRight];
double right = right.Position.X;
/*
I need an operation here to calculate the offset of right before sending it
Meaning, offset= right(current coordinate)-right(previous coordinate)
How can I do this in C# ?
I have tried this operation as mentioned below but it is printing all zeros although I moved (if move, previous - current coordinates shall not be zero)
*/
//---------------------------------------------------------------------------
double offset = 0;
double[] of = new double[2];
for (int i = 0; i < of.Length; i++)
{
if (i > 2)
{
break;
}
of[i] = right;
offset = of[1] - of[0];
}
//---------------------------------------------------------------------------
//convert the data to bytes before sending
byte[] rh = BitConverter.GetBytes(offset);
//sending the data to the server
client.Send(rh, rh.Length);
Благодаря bro..in кода, ты пользуешься смещением = предыдущие токами ? Он должен быть текущим-предыдущим. Как я могу сделать изменения для текущего-предыдущего? Пожалуйста, объясните мне, как работает код ur и что я делал неправильно в своем коде? – Thale
@Thale В вашем цикле for, когда i = 0, вы сохраняете значение с 0-м индексом, а затем снова, когда приходит с i = 1, вы сохраняете одно и то же значение в 1-м индексе, поэтому вы получаете смещение = 0 всегда –