줄이 아닌 타원으로 뼈대를 표시하려고합니다. 내가두 개의 조인트에서 DrawEllipse (점 또는 오히려 X 및 Y 좌표)
public abstract void DrawEllipse(
Brush brush,
Pen pen,
Point center,
double radiusX,
double radiusY
필요 타원)
그래서 나는이 코드를 시도했지만 일부 오류가 발생을 그릴 할 때 나는 X와 Y 에 대한 좌표 두 점을 (모르는 반경 Y) :
double centerX = (jointPoints[jointType0].X + jointPoints[jointType1].X)/2;
double centerY = (jointPoints[jointType0].Y + jointPoints[jointType1].Y)/2;
double radiusX =Math.Sqrt((Math.Pow((jointPoints[jointType1].X - jointPoints[jointType0].X), 2)) + (Math.Pow((jointPoints[jointType1].Y - jointPoints[jointType0].Y), 2)));
drawingContext.DrawEllipse(null, drawPen, new Point(centerX, centerY), radiusX, radiusX/5);
아무도 도와 줄 수 있습니까? 즉, 항상 수평 또는 수직 elipses을 그릴 것 때문에
private void DrawBone(IReadOnlyDictionary<JointType, Joint> joints, IDictionary<JointType, Point> jointPoints, JointType jointType0, JointType jointType1, DrawingContext drawingContext, Pen drawingPen,List<JointType> badJoint)
{
Joint joint0 = joints[jointType0];
Joint joint1 = joints[jointType1];
// If we can't find either of these joints, exit
if (joint0.TrackingState == TrackingState.NotTracked ||
joint1.TrackingState == TrackingState.NotTracked)
{
return;
}
// We assume all drawn bones are inferred unless BOTH joints are tracked
Pen drawPen = this.inferredBonePen;
if ((joint0.TrackingState == TrackingState.Tracked) && (joint1.TrackingState == TrackingState.Tracked))
{
drawPen = drawingPen;
}
//If a bone makes parts of an one bad angle respect reference angle
if (badJoint.Contains(jointType0) && badJoint.Contains(jointType0))
drawPen = new Pen(Brushes.Red, 6);
drawingContext.DrawLine(drawPen, jointPoints[jointType0], jointPoints[jointType1]);
_exact_ 오류 메시지는 무엇입니까? http://stackoverflow.com/help/mcve 및 http://stackoverflow.com/help/how-to-ask를 참조하십시오. –
오류가 없지만 원하는대로 스켈레톤을 표시하지 않습니다. 타원은 점들을 통과하지 않고 radiusY를 설정하는 방법을 모른다. 위 내가 i 화면에 게시 뼈를 움직일 때 x와 y가 바뀌기 때문에 더 복잡하다고 생각합니다. – luca
점 사이에 가상 선을 만들 수 있으며 두 개의 90도 회전 된 작은 가상 선을 만들 수 있습니다 (총 15 % 라인) 큰 가상 라인의 상단과 하단. 이제 선 (Math.atan2)의 회전을 가져 와서 회전 된 타원을 그립니다. http://i.imgur.com/XybEThO.png – WebFreak001