CGAL是一个包含几何、数据结构、和算法的大型C++库。CGAL广泛用于以下领域:计算机图形学,科学可视化,计算机辅助设计与建模,地理信息系统,分子生物学,医学影像学,机器人学和运动规划,数值方法等等。本文主要简单介绍了CGAL的安装和使用。
本机安装系统为:
win7 64 SP1+vs2013+boost_1_58_0+QT4.8.6+libQGLViewer2.6.3+cgal4.6.1+CMake3.3.0
安装CGAL所需求得文件:
开始步骤:
1 先装vs2013,因为安装boost时会先确定vs的版本,生成对应的boost 库,这个安装步骤就不说了,傻瓜式安装。
2 安装Boost文件:
当前使用的版本为boost_1_58_0。boost_1_59_0的也可以。
首先将下载的boost_1_58_0压缩包解压。
按Win+R组合键输入cmd进入命令窗口:下面的这些图来网站或自己建的。
查看文件解压后的路径,然后如下图用自己的路径代替红线内的路径,运行bootstrap.bat。
执行完上述命令后会在安装目录下生成如下exe文件
(vs2010,vs2012,vs2013)等自动选择与之相适应的库文件和包含文件等。
此过程大概需要20分钟左右。安装完成后会发现在DOS窗口最后几行中有:
我解压的地方在D盘。就有
D:\CGAL\boost_1_58_0\stage\lib
D:\CGAL\boost_1_58_0
这时需要配置环境变量:
右键单击计算机->计算机属性->高级系统设置->环境变量
也就是新建下面两个环境变量,第二个自己建。
BOOST_LIBRARYDIR D:\CGAL\boost_1_58_0\stage\lib BOOST_ROOT D:\CGAL\boost_1_58_0
还要添加path路径下的环境变量,
将D:\CGAL\boost_1_58_0\stage\lib添加到变量值得后面如下图。
到此boost配置完成。
3 QT4.8.6的安装
我最先安装的是版本qt5.5.1,但是在我配置完后,在vs中运行cgal程序中时,总是缺少动态链接库。就上网查了一些资料,说Qt4.8.6是Qt4的最后一个版本,BUG 修补的差不多了。所以最后选择了Qt4.8.6.
下载网址:https://download.qt.io/archive/qt/4.8/4.8.6/
我下载的是源码,上面只有vs2010的版本,没有vs2013的版本,我用源码编译vs2013的版本。
用vs2013的命令提示窗口进行编译
和boost的安装类似,安装步骤如下
参考网址:https://www.wendangku.net/doc/e13099805.html,/xingewudi21/article/details/45114717
4.安装及配置libQGLViewer
libQGLViewer是用来运行CGAL 3D demo的。下面是配置方法:
1. 解压到指定目录”…\…\libQGLViewer-
2.6.1“。
2. 打开命令行窗口,切换到QGLViewer目录下
(>cd …\…\libQGLViewer-2.6.1\QGLViewer)。
3. 执行qmake.exe(>qmake.exe),等待完毕。
4. 打开Visual Studio Command Prompt,切换到QGLViewer目录下
(>cd …\…\libQGLViewer-2.6.1\QGLViewer)。
5. 执行nmake(>nmake),等待执行完毕。
然后,将D:\Development\libQGLViewer-2.6.1\QGLViewer\debug和
D:\Development\libQGLViewer-2.6.1\QGLViewer\release加入到环境变量PATH中。而且,将libQGLViewer相关目录设置为环境变量:
QGLVIEWERROOT = …\…\libQGLViewer-2.6.1
5 CMAKE3.3安装
安装步骤类似于下:
选好一个安装位置即可。下一步---安装完毕。
6 CGAL4.6.1的安装如下
当时我安装的是CGAL4.9版本,但是此版本需要安装QT5版本的,配置时出现了一堆问题,缺少动态链接库。故选择了QT4.8.6,选择了CGAL4.6.1。
注意CGAL的安装过程中需要联网,请保持网络畅通。
建议安装32位的
所有的环境变量如下,自己对照新建添加。
环境变量的配置如下:和boost 的环境配置类似,根据自己的安装路径来
BOOST_LIBRARYDIR D:\CGAL\boost_1_58_0\stage\lib
BOOST_ROOT D:\CGAL\boost_1_58_0
CGAL_DIR D:\Program Files\CGAL-4.6.1
QTDIR D:\CGAL\Qt\qt4.8.6
QGLVIEWERROOT D\…\libQGLViewer-2.6.1
path:所添加的如下
D:\CGAL\Qt\qt4.8.6\bin;D:\CGAL\boost_1_58_0\stage\lib;D:\CGAL\Qt\qt4.8.6\bin;D:\CGAL\Qt \qt4.8.6\lib;D:\Program Files\CGAL-4.6.1\auxiliary\gmp\lib;
D:\ProgramFiles\CGAL-4.6.1\build\bin;D:\CGAL\libQGLViewer-2.6.3\QGLViewer\debug;D:\ CGAL\libQGLViewer-2.6.3\QGLViewer\release;
黄色部分比较特殊,可以先加进去。
打开CMAKE软件
等待完成后。CGAL的官网安装,vs运行例子参照此官网即可。
https://www.wendangku.net/doc/e13099805.html,/download/windows.html
如果是自己写的代码需要配置项目属性:
1.
包含目录:
D:\Program Files\CGAL-4.6.1\include
D:\Program Files\CGAL-4.6.1\auxiliary\gmp\include D:\Program Files\CGAL-4.6.1\build\include
D:\CGAL\boost_1_58_0
D:\CGAL\boost_1_58_0\boost
D:\CGAL\Qt\qt4.8.6\include
D:\CGAL\libQGLViewer-2.6.3\QGLViewer
库目录:
D:\Program Files\CGAL-4.6.1\build\lib
D:\Program Files\CGAL-4.6.1\auxiliary\gmp\lib D:\CGAL\Qt\qt4.8.6\lib
D:\CGAL\libQGLViewer-2.6.3\QGLViewer
D:\CGAL\boost_1_58_0\boost
D:\CGAL\boost_1_58_0\libs
D:\CGAL\boost_1_58_0\stage\lib
将这些加入到对应的目录下
2.预处理器定义:
_CRT_SECURE_NO_DEPRECATE
_SCL_SECURE_NO_DEPRECATE
_CRT_SECURE_NO_WARNINGS
将这三个加入预处理器定义
3.链接器:
附加依赖项:
libgmp-10.lib
libmpfr-4.lib
这两个加入附加依赖项
小学数学图形计算公式 1 正方形 C周长S面积a边长 周长=边长×4 C=4a 面积=边长×边长 S=a×a 2 正方体 V:体积a:棱长 表面积=棱长×棱长×6 S表=a×a×6 体积=棱长×棱长×棱长 V=a×a×a 3 长方形 C周长S面积a边长 周长=(长+宽)×2 C=2(a+b) 面积=长×宽 S=ab 4 长方体 V:体积s:面积a:长b: 宽h:高 (1)表面积(长×宽+长×高+宽×高)×2 S=2(ab+ah+bh) (2)体积=长×宽×高 V=abh 5 三角形 s面积a底h高 面积=底×高÷2 s=ah÷2 三角形高=面积×2÷底 三角形底=面积×2÷高 6 平行四边形 s面积a底h高 面积=底×高 s=ah 7 梯形 s面积a上底b下底h高 面积=(上底+下底)×高÷2 s=(a+b)× h÷2 8 圆形 S面积C周长∏ d=直径r=半径 (1)周长=直径×∏=2×∏×半径 C=∏d=2∏r
(2)面积=半径×半径×∏ 9 圆柱体 v:体积h:高s;底面积r:底面半径c:底面周长 (1)侧面积=底面周长×高 (2)表面积=侧面积+底面积×2 (3)体积=底面积×高 (4)体积=侧面积÷2×半径 10 圆锥体 v:体积h:高s;底面积r:底面半径 体积=底面积×高÷3 总数÷总份数=平均数 和差问题的公式 (和+差)÷2=大数 (和-差)÷2=小数 和倍问题 和÷(倍数-1)=小数 小数×倍数=大数 (或者和-小数=大数) 差倍问题 差÷(倍数-1)=小数 小数×倍数=大数 (或小数+差=大数) 植树问题 1 非封闭线路上的植树问题主要可分为以下三种情形: ⑴如果在非封闭线路的两端都要植树,那么: 株数=段数+1=全长÷株距-1 全长=株距×(株数-1) 株距=全长÷(株数-1) ⑵如果在非封闭线路的一端要植树,另一端不要植树,那么: 株数=段数=全长÷株距 全长=株距×株数 株距=全长÷株数 ⑶如果在非封闭线路的两端都不要植树,那么: 株数=段数-1=全长÷株距-1 全长=株距×(株数+1) 株距=全长÷(株数+1) 2 封闭线路上的植树问题的数量关系如下 株数=段数=全长÷株距 全长=株距×株数 株距=全长÷株数 盈亏问题 (盈+亏)÷两次分配量之差=参加分配的份数 (大盈-小盈)÷两次分配量之差=参加分配的份数 (大亏-小亏)÷两次分配量之差=参加分配的份数
《计算方法》期中复习试题 一、填空题: 1、已知3.1)3(,2.1)2(,0.1)1(===f f f ,则用辛普生(辛卜生)公式计算求得 ?≈3 1 _________ )(dx x f ,用三点式求得≈')1(f 。 答案:2.367,0.25 2、1)3(,2)2(,1)1(==-=f f f ,则过这三点的二次插值多项式中2 x 的系数为 , 拉格朗日插值多项式为 。 答案:-1, )2)(1(21 )3)(1(2)3)(2(21)(2--------= x x x x x x x L 3、近似值*0.231x =关于真值229.0=x 有( 2 )位有效数字; 4、设)(x f 可微,求方程)(x f x =的牛顿迭代格式是( ); 答案 )(1)(1n n n n n x f x f x x x '--- =+ 5、对1)(3 ++=x x x f ,差商=]3,2,1,0[f ( 1 ),=]4,3,2,1,0[f ( 0 ); 6、计算方法主要研究( 截断 )误差和( 舍入 )误差; 7、用二分法求非线性方程 f (x )=0在区间(a ,b )内的根时,二分n 次后的误差限为 ( 1 2+-n a b ); 8、已知f (1)=2,f (2)=3,f (4)=5.9,则二次Newton 插值多项式中x 2系数为( 0.15 ); 11、 两点式高斯型求积公式?1 d )(x x f ≈( ?++-≈1 )] 321 3()3213([21d )(f f x x f ),代数精 度为( 5 ); 12、 为了使计算 32)1(6 )1(41310-- -+-+ =x x x y 的乘除法次数尽量地少,应将该表 达式改写为 11 ,))64(3(10-= -++=x t t t t y ,为了减少舍入误差,应将表达式 19992001-改写为 199920012 + 。
《数值计算方法》复习试题 一、填空题: 1、????? ?????----=410141014A ,则A 的LU 分解为 A ??? ?????????=? ?????????? ?。 答案: ?? ????????--??????????--=1556141501 4115401411A 2、已知3.1)3(,2.1)2(,0.1)1(===f f f ,则用辛普生(辛卜生)公式计算求得 ?≈3 1 _________ )(dx x f ,用三点式求得≈')1(f 。 答案:, 3、1)3(,2)2(,1)1(==-=f f f ,则过这三点的二次插值多项式中2 x 的系数为 , 拉格朗日插值多项式为 。 答案:-1, )2)(1(21 )3)(1(2)3)(2(21)(2--------= x x x x x x x L 4、近似值*0.231x =关于真值229.0=x 有( 2 )位有效数字; 5、设)(x f 可微,求方程)(x f x =的牛顿迭代格式是( ); ( 答案 )(1)(1n n n n n x f x f x x x '--- =+ 6、对1)(3 ++=x x x f ,差商=]3,2,1,0[f ( 1 ),=]4,3,2,1,0[f ( 0 ); 7、计算方法主要研究( 截断 )误差和( 舍入 )误差; 8、用二分法求非线性方程 f (x )=0在区间(a ,b )内的根时,二分n 次后的误差限为 ( 1 2+-n a b ); 9、求解一阶常微分方程初值问题y '= f (x ,y ),y (x 0)=y 0的改进的欧拉公式为
( )] ,(),([2111+++++=n n n n n n y x f y x f h y y ); 10、已知f (1)=2,f (2)=3,f (4)=,则二次Newton 插值多项式中x 2系数为( ); 11、 两点式高斯型求积公式?1 d )(x x f ≈( ?++-≈1 )] 321 3()3213([21d )(f f x x f ),代数精 度为( 5 ); 12、 解线性方程组A x =b 的高斯顺序消元法满足的充要条件为(A 的各阶顺序主子式均 不为零)。 13、 为了使计算 32)1(6 )1(41310-- -+-+ =x x x y 的乘除法次数尽量地少,应将该表 达式改写为 11 ,))64(3(10-= -++=x t t t t y ,为了减少舍入误差,应将表达式 19992001-改写为 199920012 + 。 14、 用二分法求方程01)(3 =-+=x x x f 在区间[0,1]内的根,进行一步后根的所在区间 为 ,1 ,进行两步后根的所在区间为 , 。 15、 、 16、 计算积分?1 5 .0d x x ,取4位有效数字。用梯形公式计算求得的近似值为 ,用辛卜 生公式计算求得的近似值为 ,梯形公式的代数精度为 1 ,辛卜生公式的代数精度为 3 。 17、 求解方程组?? ?=+=+042.01532121x x x x 的高斯—塞德尔迭代格式为 ?????-=-=+++20/3/)51()1(1)1(2)(2)1(1 k k k k x x x x ,该迭 代格式的迭代矩阵的谱半径)(M ρ= 121 。 18、 设46)2(,16)1(,0)0(===f f f ,则=)(1x l )2()(1--=x x x l ,)(x f 的二次牛顿 插值多项式为 )1(716)(2-+=x x x x N 。 19、 求积公式 ?∑=≈b a k n k k x f A x x f )(d )(0 的代数精度以( 高斯型 )求积公式为最高,具 有( 12+n )次代数精度。
各种图形面积计算公式 1、长方形的周长=(长+宽)×2 C=(a+b)×2 2、正方形的周长=边长×4 C=4a 3、长方形的面积=长×宽S=ab 4、正方形的面积=边长×边长S=a.a= a 5、三角形的面积=底×高÷2 S=ah÷2 6、平行四边形的面积=底×高S=ah 7、梯形的面积=(上底+下底)×高÷2 S=(a+b)h÷2 8、直径=半径×2 d=2r 半径=直径÷2 r= d÷2 9、圆的周长=圆周率×直径=圆周率×半径×2 c=πd =2πr 10、圆的面积=圆周率×半径×半径?=πr 11、长方体的表面积=(长×宽+长×高+宽×高)×2 12、长方体的体积=长×宽×高V =abh 13、正方体的表面积=棱长×棱长×6 S =6a 15、圆柱的侧面积=底面圆的周长×高S=ch 16、圆柱的表面积=上下底面面积+侧面积 S=2πr +2πrh=2π(d÷2) +2π(d÷2)h=2π(C÷2÷π) +Ch 17、圆柱的体积=底面积×高V=Sh V=πr h=π(d÷2) h=π(C÷2÷π) h 18、圆锥的体积=底面积×高÷3 V=Sh÷3=πr h÷3=π(d÷2) h÷3=π(C÷2÷π) h÷3 19、长方体(正方体、圆柱体)的体积=底面积×高 V=Sh 各种图形体积计算公式 平面图形 名称符号周长C和面积S 1、正方形a—边长C=4a S=a2 2、长方形a和b-边长C=2(a+b) S=ab 3、三角形a,b,c-三边长 h-a边上的高 s-周长的一半 A,B,C-内角 其中s=(a+b+c)/2 S=ah/2 =ab/2·sinC =[s(s-a)(s-b)(s-c)]1/2 =a2sinBsinC/(2sinA) 4、四边形d,D-对角线长
2002-2003 第一学期 一.计算及推导( 5*8) 1.已知 x* 3.141, x ,试确定 x * 近似 x 的有效数字位数。 * * * 0.100 * * * 2.有效数 x 1 3.105, x 2 0.001, x 3 1 x 2 3 ,试确定 x x 的相对误差限。 3.已知 f ( x) 0.5 x 3 0.1x 2 ,试计算差商 f 0,1,2,3 4.给出拟合三点 A (0,1), B (1,0) 和 C (1,1) 的直线方程。 5.推导中矩形求积公式 b (b a) f ( a b ) 1 f '' ( )(b a)3 f (x)dx a 2 24 b n f (x)dx A i f ( x i ) a 6.试证明插值型求积公式 i 0 的代数精确度至少是 n 次。 7.已知非线性方程 x f (x) 在区间 a, b 内有一实根,试写出该实根的牛顿迭代 公式。 8.用三角分解法求解线性方程组 1 2 1 x 1 0 2 2 3 x 2 3 1 3 0 x 3 2 二.给出下列函数值表 0.4 0.5 0.6 0.7 0.8 x i 0.38942 0.47943 0.56464 0.64422 0.71736 f ( x i ) 要用二次插值多项式计算 f (0.63891) 的近似值,试选择合适的插值节点进行计 算,并说明所选用节点依据。 (保留 5 位有效数字)(12 分) 三. 已知方程 x ln x 0 在 (0,1) 内有一实根 ( 1)给出求该实根的一个迭代公式,试之对任意的初始近似 x 0 (0,1) 迭代法都收 敛,并证明其收敛性。 ( 2) x 0 0.5 试用构造的迭代公式计算 的近似值 x n ,要求 x n x n 1 10 3 。 四. 设有方程组
常见几何体的面积、体积求法与应用 要计算某材料的密度、重量,研究某物体性能及其物质结构等,特别对于机械专业的学生,必须要求工件的面积、体积等,若按课本上公式来计算,而课本上公式不统一,不好记住,并且很繁杂,应用时要找公式,对号入座很麻烦。笔者在教学与实践中总结出一种计算常见几何体的面积、体积方法。其公式统一,容易记住,且计算简单。对技校学生来说,排除大部分繁琐的概念、定理,以及公式的推导应用等。 由统计学中的用加权平均数对估计未来很准确。比如,估计某商品下个月销售量,若去年平均销售量为y ,设本月权为4,上月权数为1,下月权数为1,各月权数分别乘销售量相加后除以6等于y 。这样能准确地确定下个月销售量。能不能以这种思想方法用到求几何体的面积、体积呢?通过推导与实践,对于常见的几何体确实可用这种方法来求得其面积、体积。下面分别说明求常见几何体的面积、体积统一公式的正确性与可用性。 常见几何体的面积、体积统一公式: ) 4(6 )4(621002100S S S h V C C C h A ++= ++= (其中A 为几何体侧面积,C 0为上底面周长,C 1为中间横截面周长,C 2 为下底面周长,V 为几何体体积,S 0为上底面面积,S 1为中间横截面面积,S 2为下底面面积,h 为高,h 0为斜高或母线长。注:中间横截面为上、下底等距离的截面。) 一、棱柱、棱锥、棱台、圆柱、圆锥、圆台的面积 、体积用统一公式的正确性 1、棱柱: ⑴据棱柱上底周长、下底周长、中间横截面周长相等,即2 1 C C C ==, 可得: 2020210066 )4(6 C h C h C C C h =?= ++,这与课本中的棱柱侧面积公式等同。 以下每个几何体都能推得与课本中相应公式等同,说明这统一公式的正确性。 ⑵据棱柱上底面、下底面、中间横截面相等,可知:2 1 S S S ==,即: h S S S S h S S S h V 2222210)4(6 )4(6 =++= ++= 。 2、棱锥 ⑴设底边长为a 2,边数为n ,斜高为h 0,侧面三角形中位线为a 1,则
《数值计算方法》复习试题 一、填空题: 1、????? ?????----=410141014A ,则A 的LU 分解为 A ??? ?????????=? ?????????? ?。 答案: ?? ????????--??????????--=1556141501 4115401411A 3、1)3(,2)2(,1)1(==-=f f f ,则过这三点的二次插值多项式中2 x 的系数为 ,拉 格朗日插值多项式为 。 答案:-1, )2)(1(21 )3)(1(2)3)(2(21)(2--------= x x x x x x x L 4、近似值*0.231x =关于真值229.0=x 有( 2 )位有效数字; 5、设)(x f 可微,求方程)(x f x =的牛顿迭代格式就是( ); 答案 )(1)(1n n n n n x f x f x x x '--- =+ 6、对1)(3 ++=x x x f ,差商=]3,2,1,0[f ( 1 ),=]4,3,2,1,0[f ( 0 ); 7、计算方法主要研究( 截断 )误差与( 舍入 )误差; 8、用二分法求非线性方程 f (x )=0在区间(a ,b )内的根时,二分n 次后的误差限为 ( 1 2+-n a b ); 10、已知f (1)=2,f (2)=3,f (4)=5、9,则二次Newton 插值多项式中x 2系数为( 0、15 ); 11、 解线性方程组A x =b 的高斯顺序消元法满足的充要条件为(A 的各阶顺序主子式均 不为零)。 12、 为了使计算 32)1(6 )1(41310-- -+-+ =x x x y 的乘除法次数尽量地少,应将该表 达式改写为 11 ,))64(3(10-= -++=x t t t t y ,为了减少舍入误差,应将表达式
不四 s = —+ 爲Mu = =££sin B 2 2 边形 不四 平边 行形 a. b. c. d —各边长險、爲rsi s -面积右、必一对角线 [H^hY^bh + cH 2 H, 曰-面枳 € _ a£K abc % 4」戸(尹_&)〔戸 _&)(尹_亡) P-三边和之半 s-三角形囲积 艮-三角形外接圆半径 外 切 角 形 直 角 角 形 尸=匚石一刁 ■S _ 血 P V F P-三边和之半 2 -三角形面积 r -三角形内切圆半径 以=胪亠阱弘b -直角边 c = 3十戸? _斜边 1 , "尹占-面积 c -J/ ■n?十2&曰a'b^ -各边长
隅 角 0 ]073t a s - 面积 d -短轴D - 长轴匸-短 半轴 R -长半轴 扇 形 ISO* -°01745^ 亠二喫 2 360 半径 圆心角= 0.008727r^* 弓-面积
正 六 E 体 正 十 _____ L 面 体 正 多 边 形 (六个正方形 ) 口 -边 数 a - 一边之长 R -外接圆半径 r 内切圆半径 e-巒 财之 1D 心角 顶 用 官-面 积 D -周良 tzFhj u 〔教目) F=6a 2 棱顶点 12 3 丁 = / C 数 目) 稜腆点 30 20 正 立 方 体 截 头 直 锥 (十二个五甬形)爲 柱 卩二 20.6457^ r= 7.663 la 5 F = 6a 2 C L □ -边 长 d-对角线长 = 7^" = 1732^1 。=扌心1 +比) 尸=#餉+宀) + s i 十巧 衍“2 —两端周 围的长 £ L-S 2 —两端的 面积 $二gk 十邑+ J 远”叼) C* P -宜截断面周长 F = ^/ + 2s h - 高 V = sh 目-底面积
计算方法模拟试题 一、 单项选择题(每小题3分,共15分) 1.近似值210450.0?的误差限为( )。 A . 0.5 B. 0.05 C . 0.005 D. 0.0005. 2. 求积公式)2(3 1 )1(34)0(31)(2 0f f f dx x f ++≈ ?的代数精确度为( )。 A. 1 B. 2 C. 3 D. 4 3. 若实方阵A 满足( )时,则存在唯一单位下三角阵L 和上三角阵R ,使LR A =。 A. 0det ≠A B. 某个0 det ≠k A C. )1,1(0det -=≠n k A k D. ),,1(0det n k A k =≠ 4.已知?? ?? ? ?????=531221112A ,则=∞A ( )。 A. 4 B. 5 C. 6 D 9 5.当实方阵A 满足)2(,221>>-=i i λλλλ,则乘幂法计算公式1e =( )。 A. 1+k x B. k k x x 11λ++ C. k x D. k k x x 11λ-+ 二、填空题(每小题3分,共15分) 1. 14159.3=π,具有4位有效数字的近似值为 。 2. 已知近似值21,x x ,则=-?)(21x x 。 3.已知1)(2-=x x f ,则差商=]3,2,1[f 。 4.雅可比法是求实对称阵 的一种变换方法。