计算几何复习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算几何期末复习题
二. 简答题
1. 在编写几何计算程序时,应该坚持的原则有哪些?
答:尽量使用加减等有理运算,避免使用开方,除法等无理运算.
2. 如果一个几何计算系统采用浮点计算,那么这个系统可能不可靠。这个不可靠是由什么原因引起的?
答:浮点数的精度不够,出现允差,判断结果矛盾。
3. 如果一个几何计算系统全部采用整数计算并且没有除法运算和无理计算,那么这个系统仍然可能不可靠。这个不可靠是由什么原因引起的?
答:可能产生数据溢出问题。
4. Windows 应用程序是消息驱动程序,并且消息中的大部分是窗口消息。给出 3 个预定义的窗口消息名称并说明这些消息什么时候发生。
答:1.WM_LBUTTONDOWN(按下鼠标左键)
2.WM_LBUTTONUP(释放鼠标左键)
3.WM_RBUTTONDOWN(按下鼠标右键)
4.WM_RBUTTONUP(释放鼠标右键)
5. Windows 应用程序提供许多预定义的窗口类型(也叫控件)供程序员使用,它们具有各自独特的窗口特征。请给出 3 种预定义窗口类型,给出它们的中文名和英文名。
答: CButton 按钮
CControlBar 控制条
CComboBox 组合框
6. 单多面体的Euler-Poincare公式是什么?写出这个公式并说明公式中每个变量的含义。将一个多面体的每个面进行三角剖分后这个公式是否仍然成立? 答:公式:V-E+F=2*(S-G)+R 解释:
S: shell壳的个数 G:Genus 亏格数 R:ring内环个数
V:vextex顶点个数 E:edge边个数 F:face面的个数成立
7. 出由端点P0(x0, y0, z0)与P1(x1, y1, z1)所确定的直线段的参数方程。(用
矢量形式或分量形式均可)。
答:p=po+(P1-p0)·t; t∈[0,1]
8. 已知空间不在一条直线上的 3 点P0(x0, y0, z0)、P1(x1, y1, z1)、P2(x2, y2, z2),写出经过这 3 点的平面的参数方程。(用矢量形式或分量形式均可)。
答:p(u,v)=p0+u·(p1-p0)+v·(p2-p0)
9. 我们说平面点集的 Delaunay 三角剖分是一个“好”的三角剖分。这里的“好”指的是什么?(指出一点即可。)
答:因为它是一个最小角最大化的三角剖分方法
11.形体的表面模型和实体模型分别适合的领域是什么?一个采用半边数据结构描述的多面体属于表面模型还是实体模型?
答:表面模型:动画领域实体领域:工程 CAD
属于实体模型
12. 采用交互编辑手段进行三维形体的几何建模的方法有哪些?
答:布尔集合运算体素建模整体操作局部操作扫面操作
13. 给定空间一点P1(x1, y1, z1)和一个平面,平面的普遍方程为
Ax+By+Cz+D=0。请说明如何判断P1 在平面上、正侧或负侧。假设所有参数均为浮点数,并且计算量越小越好。
答:令△=Ax1+By1+Cz1+D 若△>Eps 则点在平面上
若△<= Eps 则点在平面内
若△<-Eps 则点在平面下
14. 给定空间一点P1 和一条直线,该直线由直线上一点P0 与方向矢量v 来描述。请给出计算P1 到该直线距离d 的矢量形式计算公式。
答:
d=|(p1-p0)×v|
| |v| |
15. 给定空间一点P0 和一条直线段P1P2。请给出计算P0 到该直线段距离d 的矢量形式计算公式。
答:当(p0-p1)·(p2-p1)<0时,d=|p1-p0|;
当(p0-p2)·(p1-p2)<0时,d=|p2-p0|;
其他,d=|(p0-p1)×(p2-p1)|
|(p2-p1)|
16. 给定空间一点P1 和一条直线,该直线由直线上一点P0 与方向矢量v 来描述。请给出计算P1 关于直线的对称点P’1 的矢量形式计算公式。
答:P’1=P1+ 2d 其中d=|(p1-p0)×v|
| |v| |
17. 给定空间一点P1 和一个平面,该平面由法矢量n 和一个标量参数d 来描
述。请给出计算P1 关于平面的对称点P’1 的矢量形式计算公式。
答: p’=p1+ n *(-2l)其中l=p1·n+d
|n||n|
18. 已知空间 3 点P0、P1、P2,请给出计算由这 3 个点构成的空间三角形面积S 的矢量形式计算公式。
答:S=0.5* |(p1-p0)×(p2-p0)|
19. Windows 应用程序由源程序和资源组成。那么资源包括那些类型?请给出至少 5 种。在 VC++中描述资源的文件扩展名是什么?
答:资源:Dialog,Menu,Toobar,Icon,Bitmap,Html等,扩展名:.rc
20. 在平面多边形三角剖分的切耳算法中,假设多边形是逆时针的,那么对于多边形中任意顶点P i,(其前驱顶点为P i-1,后继顶点为P i+1。),P i 是耳尖的充要条件是什么?
答:P i-1,P i,P i+1 构成左拐,并且内部不包含其他顶点。
21. 一个多面体是凸的,当且仅当它的每条边是凸的。假设多面体的某边e 的两个端点为P0 与P1,它的两个面的法矢量为n1 与n2,由物体内指向物体外。并且已知在法矢为n1 的面中,其半边是由P0 指向P1。请给出判断边e 凸凹性的准
则 (一个关于P0、P1、n1、n2 的判别式)。
答:(n1×n2)·(p1-p0)>0
22. 给出下列词汇所对应的贴切英文表达: 直线,射线,矢量,平面,直线段,交点,多边形,多面体,顶点,边,坐标,凸的,三角形,四面体。
答:分别为: line, ray ,vctor, plane,line segment, intersection point, polygon, polyhedron, vertex,edge, coordinates,convex,triangle, tetrahedron
23. 在目前的几何建模系统中,自由曲线曲面大多采用显式、隐式还是参数式? 这种曲线曲面的优点是什么?
答:参数式,优点:容易表示曲线段或曲面片。
24. 已知坐标为整数,给出判断平面上一点P 是否在一个逆时针三角形P0P1P2
内部的计算方法。无需考虑溢出问题。
答:将点p分别与p0,p1,p2连接,假如新形成的小三角形全部左拐,则点在三角形内,否则在三角形外。
25. 已知坐标为整数,给出判断平面上两线段P0P1 与P2P3 是否相交的计算方法。无需考虑溢出问题。
答:如果三角形p0p1p2,三角形p0p1p3一个左拐,一个右拐或者三点共线,且三角形p2p3p0,三角形p2p3p1一个左拐,一个右拐或者三点共线,则此两线段有交点,否则无交点。
26. 已知坐标为整数,给出判断一空间三角形P0P1P2 与一空间线段P3P4 是否相
交的计算方法。无需考虑溢出问题,且假定线段不在三角形所在的平面上。
答:Vp0p1p2p3和Vp0p1p2p4异号且Vp0p1p3p4,Vp1p2p3p4 ,Vp2p0p3p4同号时相交,否则不相交。
27. 已知坐标为整数,平面上 4 点为P0(x0, y0, z0)、P1(x1, y1, z1)、P2(x2, y2, z2),P3(x3,y3, z3),且P0P1P2构成逆时针三角形。请给出判断P3是否在P0P1P2的外接圆内部的计算方法。
答:1、根据所给的四点坐标计算出外接圆的圆心,即外心;
2、P0,P1,P2任意一点与外心的距离求得半径;
3、P3与外心之间的距离与半径相比较,如果小于半径则在外接圆内部。
28. 已知空间三角形P0P1P2 以及三角形所在平面上的一点Q。给出判断Q 在三角形内外的判断方法。假定坐标为浮点数,只需给出算法思想不需给出具体公式。答:分别求出三角形P0QP2,P1QP2,P0QP1,P0P1P2面积,若有P0QP2,P1QP2,P0QP1面积之和等于P0P1P2面积,则Q点就在三角形内部。
29. 在几何变换中,采用齐次坐标方法的好处是什么?
答:采用齐次坐标可以在变换中将所有变化统一成矩阵形式。
30. 设三维空间一点(x, y, z)绕Y 轴旋转θ角后的坐标为(x’, y’, z’),这个变换过程
可写作:[x’ y’ z’ 1] = [x y z 1]·R y(θ)。请具体给出这个矩阵R y(θ)。答:R y(θ) = cosθ 0 -sinθ 0
0 1 0 0
sinθ 0 cosθ 0
0 0 0 1