喷嘴几何形状 WPF

Nozzle geometry WPF

我目前正在 WPF 中用 C# 做一个 CFD 简单问题,分析准一维流(仅随 x 变化),我想以 "decent" 方式表示结果。因此,将其想象成具有给定数量的垂直截面的矩形。形式不是矩形,而是喷嘴。我想知道是否有一种方法可以用 Stackpanels 或类似某种形式的东西来表示。

在所附的图片中可以看到形状,以帮助理解问题。

每个部分(喷嘴边缘的矩形 "cut")都有一个相关的温度,并且已经 computed.Just 举个例子,绘制的部分的温度值为 250,对于例如我想用红色来画它。[=​​14=]

我的问题是:是否有任何方式 "shaping" 堆叠面板或类似的东西来显示如图所示的形状?

我搜索过信息,这是找到的最相似的选项:

<Path Stroke="Black" StrokeThickness="1">
  <Path.Data>
    <PathGeometry>
      <PathGeometry.Figures>
        <PathFigureCollection>
          <PathFigure StartPoint="10,100">
            <PathFigure.Segments>
              <PathSegmentCollection>
                <QuadraticBezierSegment Point1="200,200" Point2="300,100" />
              </PathSegmentCollection>
            </PathFigure.Segments>
          </PathFigure>
        </PathFigureCollection>
      </PathGeometry.Figures>
    </PathGeometry>
  </Path.Data>
</Path>

绘制此图像的。我想要构建的是使用这种方法的喷嘴,并且能够按照第一张图片中的建议将其分开或在其中放置垂直段,根据它们的值绘制它们。

您定义了一个非常复杂的问题,对于单个 SO 问题来说可能太多了。我绝不是为您的问题提供完整的解决方案。但也许这足以为您指明正确的方向。从那里,您可以开始自己的解决方案,如果遇到困难,可以提出更多问题。

您最好的解决方案可能是使用 c#(或可能 XAML)在 canvas 上手动绘制形状。

这是我快速搜索后能找到的最好的 link。

https://msdn.microsoft.com/en-us/library/ms751808(v=vs.100).aspx

这是微软在XAML和代码中绘制几何和几何形状的教程。 请参阅有关路径几何的部分。 我认为通过将两个 ArcSegments 用于弯曲的侧面和 LineSegments 连接两侧,您可以获得您正在寻找的基本形状。

我认为对于您的矩形 "cuts",您还必须在代码中显式构建它们。将它们覆盖在喷嘴上时,很难准确匹配它们的形状。一种简单的解决方法是创建所有水平条并对其进行绘制。然后创建覆盖矩形的顶部和底部白色覆盖层。一个覆盖层将具有顶部喷嘴的形状,并覆盖您不想显示的矩形部分。对于构成喷嘴底部的另一种形状也类似。