내가 WPF에서 3D 선을 그리하려고 내가이 XAML 코드가의 차원에서 선 그리기 :WPF
<Grid>
<Viewport3D x:Name="ViewerViewport"
RenderOptions.BitmapScalingMode="HighQuality"
Focusable="True" Grid.RowSpan="2">
<ModelVisual3D x:Name="Model">
</ModelVisual3D>
<!-- Camera -->
<Viewport3D.Camera>
<PerspectiveCamera x:Name="Camera"
Position="0,0,0"
LookDirection="0,1,0"
UpDirection="0,0,1"
FieldOfView="100"
FarPlaneDistance="10"
NearPlaneDistance="0.1"/>
</Viewport3D.Camera>
</Viewport3D>
</Grid>
이 C# 코드 :
public MainWindow()
{
InitializeComponent();
var ModelsGroup = new Model3DGroup();
ModelsGroup.Children.Add(this.AddLine(new Point3D(0, 0, 100), new Point3D(0, 100, 100),"line 1)"));
ModelsGroup.Children.Add(new AmbientLight(Colors.White));
Model.Content = ModelsGroup;
}
라인 생성 코드를 :
private Model3D AddLine(Point3D startPoint, Point3D EndPoint, string name)
{
SolidColorBrush brush = new SolidColorBrush(Colors.Black);
var material = new DiffuseMaterial(brush);
var mesh = new MeshGeometry3D();
mesh.Positions.Add(startPoint);
mesh.Positions.Add(EndPoint);
mesh.TriangleIndices.Add(0);
mesh.TriangleIndices.Add(1);
mesh.TriangleIndices.Add(0);
return new GeometryModel3D(mesh, material);
}
그러나 출력에 어떤 줄이 보이지 않습니까?
무엇이 문제입니까?
나는 쉽게 할 수있는 몇 가지 차원 라이브러리가 있다는 것을 알고 있지만 나는 WPF에서 할 다음 왜 당신을
FarClip ('FarPlaneDistance')을 높게 설정하십시오. 10시에 그림을 자르고 약 100에 선을 그리는 것처럼 보입니다. 1000으로 설정하십시오. – Samuel
@ Samuel 제안 해 주셔서 감사 드리며, 아무런 성공없이 시도해보십시오. 여전히 선을 볼 수 없습니다! – mans
카메라를 추가로 만듭니다. 'Position = "50,0,0", LookDirection = "- 1,0,0"'및 파면 및 근거리 판 거리와 위 방향을 제거합니다. 0으로 줄을 그리거나 위치를 지정하려면 [link] (http://stackoverflow.com/questions/30690348/make-camera-lookdirection-look-front-face) –