我想呈现漂亮的径向树布局,有点笨拙的弯曲边缘.问题在于,源点和目标点之间的角度不同,边缘的绘制方式也不同.提供的图片来自单个图表,因此您可以看到它们对于不同的边缘方向有何不同.我认为关键在于beizer曲线控制点生成,我只是无法理解如何修复它们.
无论边缘的方向是什么,我希望它们以相同的方式绘制.
我如何在Pic1中实现这一目标?我如何在Pic2中实现这一目标?
像这里:https://bl.ocks.org/mbostock/4063550
谢谢!
码:
//draw using DrawingContext of the DrawingVisual
//gen 2 control points
double dx = target.X - source.X, dy = target.Y - source.Y;
var pts = new[]
{
new Point(source.X + 2*dx/3, source.Y),
new Point(target.X - dx/8, target.Y - dy/8)
};
//get geometry
var geometry = new StreamGeometry { FillRule = FillRule.EvenOdd };
using (var ctx = geometry.Open())
{
ctx.BeginFigure(START_POINT, false /* is filled */, false /* is closed */);
ctx.BezierTo(pts[0], pts[1], END_POINT, …
Run Code Online (Sandbox Code Playgroud)我想使用“愤怒的小鸟”这类游戏中常见的两指滑动手势来实现缩放功能。现在我正在使用滑块缩放,感觉不如简单的手势好。因此,我尝试查看了MonoGame中的手势实现,但还没有弄清楚什么可以实际帮助我实现所描述的行为。
任何帮助将不胜感激,谢谢!