因为某些时候需要点的坐标进行平移、旋转、缩放,cgal库也以kernel object的形式提供了仿射变换,就和点、线段、向量、矩形一样,仿射变换也是这样类似的几何kernel object,定义在头文件#include<CGAL/Aff_transformation_2.h>中,以下代码是针对点的简单的旋转、平移和放大,而且cgal也提供了仿射变化的相关运算,得到复合的仿射变换,最后得到的结果是一样的,运行结果如图所示。

#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
#include<CGAL/Aff_transformation_2.h>#include<fstream>
#include<iostream>typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
typedef K::Aff_transformation_2  Transformation;
typedef K::Point_2 Point;
typedef K::Vector_2 Vector;using namespace std;
int main(int argc, char *argv[]){Transformation transformation_ROTATION(CGAL::ROTATION,sin(3.1415/4),cos(3.1415 / 4));Transformation transformation_TRANSLATION(CGAL::TRANSLATION, Vector(4, 0));Transformation transformation_SCALING(CGAL::SCALING, 100);Point A(1, 1);Point B = transformation_ROTATION(A);cout << B << endl;B = transformation_TRANSLATION(B);cout << B << endl;B = transformation_SCALING(B);cout << B << endl;Transformation transformation2 = transformation_SCALING*(transformation_TRANSLATION * transformation_ROTATION);Point C = transformation2(A);cout << C << endl;system("pause");return 0;
}

当然官网的文档可以看出,仿射变换的构造函数有很多种,官方文档传送门:https://doc.cgal.org/latest/Kernel_23/classCGAL_1_1Aff__transformation__2.html#a47f305715cb75778048ea7329b5c02dc

(三)CGAL库应用:仿射变换(点的旋转、平移、放大)相关推荐

  1. 《PCL点云库学习VS2010(X64)》Part 34 旋转平移矩阵用法

    <PCL点云库学习&VS2010(X64)>Part 34 旋转平移矩阵用法 1.变换与投影矩阵讲解: https://en.wikipedia.org/wiki/Transfor ...

  2. opencv学习(三十五)之仿射变换warpAffine

    1.仿射变换介绍 仿射变换是指在向量空间中进行一次线性变换(乘以一个矩阵)并加上一个平移(加上一个向量),变换为另一个向量空间的过程.在有限维的情况下,每个仿射变换可以由一个矩阵A和一个向量b给出,它 ...

  3. C++cgal库配置+VS2017

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 CGAL配置+vs2017 一.下载CGAL库 1.1 CGAL下载链接:https://github.com/CGAL/c ...

  4. Github上Pandas,Numpy和 Scipy三个库中20个最常用的函数

    首发于Datartisan数据工匠 写文章 Github上Pandas,Numpy和 Scipy三个库中20个最常用的函数 Datartisan 9 个月前 几个月前,我看到一篇博客中列出了 Gith ...

  5. [react] 同时引用这三个库react.js、react-dom.js和babel.js它们都有什么作用?

    [react] 同时引用这三个库react.js.react-dom.js和babel.js它们都有什么作用? React.js: React中的组件(Component).Context.hooks ...

  6. python如何移动图片_python之详细图像仿射变换讲解(图像平移、旋转、缩放、翻转),一文就够了,赶紧码住...

    仿射变换简介 什么是放射变换 图像上的仿射变换, 其实就是图片中的一个像素点,通过某种变换,移动到另外一个地方. 从数学上来讲, 就是一个向量空间进行一次线形变换并加上平移向量, 从而变换到另外一个向 ...

  7. openssl、libosip2、libeXosip2三个库的编译过程

    有同事最近要使用到sip的东东,需要使用到openssl.libosip2.libeXosip2这三个库,具体干嘛的我还不清楚,最近事多,头脑不太清醒,也不想记那些跟自己没关系的事. 不过山人自认为对 ...

  8. (二) CGAL库应用:轮廓中轴骨架生成create_interior_straight_skeleton_2()及轮廓的偏置create_offset_polygons_2()

    1 先看效果图 这是轮廓中轴的计算,中轴代表的是轮廓的骨架,在人体姿态识别.图像处理中是最基本的元素. 这是轮廓往外偏置一定距离的图示. cgal中实现轮廓中轴骨架生成及进行轮廓的偏置的是create ...

  9. Arduino UNO使用库实现步进电机指定角度旋转

    Arduino UNO使用库实现步进电机指定角度旋转 步进电机和驱动器相关的资料 https://pan.baidu.com/s/1udb4MyEOXk4CTO7TKRHj6w 提取码: fuea 步 ...

最新文章

  1. 0414复利计算6.0--结对
  2. 自学python后能干什么-学Python后能干什么 郑州Python就业怎么样
  3. Refresh your Java skills–面对Java学习过程中的一些迷茫
  4. IT人员健康信号之肠胃保养
  5. Codeforces 427 D. Match amp; Catch
  6. Centos 7.0 的svn
  7. 3.jsp页面分页功能(首页、下一页、上一页、末页)
  8. 关键点检测---CPN, Cascaded Pyramid Network for Multi-Person Pose Estimation
  9. 一、Docker 容器
  10. Oracle查询成绩高于成绩,Oracle认证考试成绩查询方法
  11. iOS最新吊炸天的资源
  12. 调试iphone上html,如何调试 iPhone Safari 浏览器的CSS兼容问题
  13. HTTPS IP直连问题小结
  14. 3用计算机处理信息吗,第3课_用计算机处理信息.ppt
  15. 【压缩感知】压缩感知与传统压缩的区别
  16. serv u服务器显示图片,Serv-U、FTP服务器架设教程、蓝芯E管家图片储存教程
  17. Hi5 2.0 产品说明书-Ver 1.0
  18. Java 切割身份证地址,省市区 详细地址工具类
  19. 情书 沈从文 张兆和
  20. 国标GB28181协议和onvif协议都有什么用?

热门文章

  1. android 简单拍照,android实现简单拍照功能
  2. 机房收费管理系统之退卡
  3. Android开发中Post方式上传文件(头像之类的)
  4. 第4章-模板引擎Jade和Handlebars-4.2.Jade的语法和特性
  5. 基于Arduino开发板的文本转语音(TTS)转换器
  6. 咖啡技术培训:传统意式咖啡菜单制作配方及流程
  7. 马斯克辞任CEO,产品经理如何用项目协作软件武装自己?
  8. 一个功能简洁,使用简易的微信机器人
  9. 计算机硬件与软件教学反思,计算机硬件教学反思.doc
  10. FLASH,宣传画册,翻书效果