opengl三维模型_WPF 3D绘图三维建模技术井眼轨迹图实现(一)

本文介绍了在WPF中使用SharpGL进行3D建模,讲解了3D绘图基本概念,包括三维坐标系、相机和投影、三维模型等,并详细阐述了在WPF中如何创建3D井眼轨迹图的步骤,包括坐标轴、网格线和井眼轨迹的绘制方法。
摘要由CSDN通过智能技术生成

使用SharpGL三维建模技术生成3D井眼轨迹图

前面的文章里写过使用sharpGL三维建模生产3D井眼轨迹,这篇文章主要是说一下在WPF中如何进行3d图绘制。

(一)、先介绍一下3D绘图基本概念

三维坐标系

由于我们要将三维模型显示在二维显示器上,所以我们创建场景时,实际上是要创建三维对象的二维表现形式。前面的文章已经讲过,WPF中二维图形坐标系原点在屏幕左上角,x轴正方向朝右,y轴正方向朝下。但是在三维坐标系中原点位于呈现中心的中间,x轴正方向朝右,y轴正方向朝上,z轴正方向朝外。这点和OpenGL类似,三维坐标系统使用的也是右手坐标系。

06ad1868c8910240b9cd2c7eec84145c.png二维坐标系统与三维坐标系统

75b67806381b7d94c725b044859de794.png在WPF中使用右手坐标系统

609c0dda8ece0d5cea1e2d0e6258d972.pngWPF三维坐标系统

相机和投影

fc125003b306e6cb2ddbf184308cc262.png

当我们创建三维场景时,实际上是要创建三维对象的在显示屏幕上二维表示形式。由于三维场景的外观会因观察者的观察位置不同而异,因此我们必须设置观察位置。可以使用相机来为三维场景指定观察位置。了解三维场景如何在二维图面上表示的另一种方法就是将场景描述为到观察表面上的投影。“投影”这个词听起来比较抽象,生活中的物品都是三维的,但人的眼睛只能看到正面,不能看到被遮挡的背面。我们眼睛看到三维几何体就像看到被相机拍摄的二维相片。三维空间体转化为二维图的过程就叫投影,例如在现实世界中摄像机拍摄物体,是由物体表面反射的光线经过凸透镜聚到感光元件CCD单元上产生的。投影就是把三维空间投影到二维空间的过程。而不同的投影方式投影尺寸的算法不同。针对于不同的三维场景通常使用不同的投影方式,比如工业设计通常使用正投影(平行投影),而各种游戏场景则通常采用透视投影。

43eff4a19f53e21e78dc1a2b5c7a2993.png

正投影和透视投影在三维图中的效果:

70bc0fec77b731120b44243697dffc1b.png

7764447f0190596ef732ac2e9b6519c1.png

透视投影相机代码示例

// Defines the camera used to view the 3D object. In order to view the 3D object,
// the camera must be positioned and pointed such that the object is within view
// of the camera.
PerspectiveCamera myPCamera = new PerspectiveCamera();

// Specify where in the 3D scene the camera is.
myPCamera.Position = new Point3D(0, 0, 2);

// Specify the direction that the camera is pointing.
myPCamera.LookDirection = new Vector3D(0, 0, -1);

// Define camera's horizontal field of view in degrees.
myPCamera.FieldOfView = 60;

// Asign the camera to the viewport
myViewport3D.Camera = myPCamera;

ProjectionCamera,可以指定不同的投影及其属性以更改观察者查看三维模型的方式。PerspectiveCamera 指定用来对场景进行透视收缩的投影。换言之,PerspectiveCamera 提供消失点透视。您可以指定照相

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值