是否可以旋转两条parrarel线,它们之间的距离为半径?
为了更好地想象,假设这两条线是从圆心到特定距离的矩形中可见的两条线,这两条线位于矩形的两侧(底部是中心的一侧) ,top是圆圈外面的一侧),因此通过在圆形边缘上移动矩形来完成旋转,从圆心中保持距离。
如果圆圈的中心有线条,那么数学就很简单了。但是这两条线都靠近圆心,但是从中心到左右两边都有一点距离。
我的方法是尝试计算这两条线中间的线,因此正在通过圆心。但是,如果我坚持计算,这两条线应如何根据计算出的“帮助”线移动。
[已编辑:已添加图片]
答案 0 :(得分:1)
你还没有告诉你如何实际绘制形状,但下面的XAML之类的东西应该做你想要的。这两条线在一个普通的Canvas父级中绘制,该父级由RotateTransform旋转,该旋转的中心位于圆的中心。
<Canvas>
<Path Stroke="Black">
<Path.Data>
<EllipseGeometry Center="200,200" RadiusX="100" RadiusY="100"/>
</Path.Data>
</Path>
<Canvas>
<Line X1="190" Y1="50" X2="190" Y2="150" Stroke="Black"/>
<Line X1="210" Y1="50" X2="210" Y2="150" Stroke="Black"/>
<Canvas.RenderTransform>
<RotateTransform CenterX="200" CenterY="200"/>
</Canvas.RenderTransform>
<Canvas.Triggers>
<EventTrigger RoutedEvent="Loaded">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation
Storyboard.TargetProperty="RenderTransform.Angle"
To="360" Duration="0:0:2" RepeatBehavior="Forever"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Canvas.Triggers>
</Canvas>
</Canvas>