第一次练习

 1 #include <iostream>
 2 #include<Eigen/Dense>
 3 #include<stdio.h>
 4 #include<cmath>
 5 #include<string>
 6 /* run this program using the console pauser or add your own getch, system("pause") or input loop */
 7 using namespace Eigen;
 8 using namespace std;
 9
10 void Input(int n1,Vector2f &pt1,Vector2f &pt2,Vector2f &pt3)
11 {
12     switch(n1){
13         case 1:{
14         scanf("%*c%*c%e%*c%e%*c%*c",&pt1[0],&pt1[1]);
15         pt3=pt2=pt1;
16         break;
17         }
18         case 2:{
19         scanf("%*c%*c%e%*c%e%*c%*c%*c%e%*c%e%*c%*c",&pt1[0],&pt1[1],&pt2[0],&pt2[1]);
20         pt3=pt2;
21         break;
22         }
23         case 3:{
24         scanf("%*c%*c%e%*c%e%*c%*c%*c%e%*c%e%*c%*c%*c%e%*c%e%*c%*c",&pt1[0],&pt1[1],&pt2[0],&pt2[1],&pt3[0],&pt3[1]);
25         break;
26         }
27     }
28
29 }
30 void move(Vector2f L ,Vector2f &pt1,Vector2f &pt2,Vector2f &pt3)
31 {
32     pt1+=L;
33     pt2+=L;
34     pt3+=L;
35 }
36 void rotate(float ang,Vector2f &pt1,Vector2f &pt2,Vector2f &pt3)
37 {
38     MatrixXf m(2,2);
39     m(0,0)=cos(ang*3.14/180);
40     m(0,1)=-sin(ang*3.14/180);
41     m(1,0)=sin(ang*3.14/180);
42     m(1,1)=cos(ang*3.14/180);
43
44     pt1=pt1.transpose()*m;
45     pt2=pt2.transpose()*m;
46     pt3=pt3.transpose()*m;
47 }
48
49 int main(int argc, char** argv) {
50     char str[20],type[10],str1[20];
51     int n;
52     Vector2f v1,v2,v3,l;
53     float angle;
54
55     printf("输入名称、点数:");
56     scanf("%s %d",str,&n);
57     printf("%s",str);
58     printf("以(x,y)的格式输入坐标点:");
59     Input(n,v1,v2,v3);
60
61     printf("输入变换类型(move/rotate)以及变换图形:");
62     scanf("%s %s",type,str1);
63     printf("%s %s",type,str1);
64
65     if(type[0]==‘m‘&type[1]==‘o‘&type[2]==‘v‘&type[3]==‘e‘){
66         printf("以(x,y)的格式输入坐标变换量:");
67         scanf("%*c%*c%a%*c%a%*c%*c",&l[0],&l[1]);
68         move(l,v1,v2,v3);
69     }
70     else if(type[0]==‘r‘&type[1]==‘o‘&type[2]==‘t‘&type[3]==‘a‘&type[4]==‘t‘&type[5]==‘e‘){
71         printf("输入旋转角度:");
72         scanf("%a",&angle);
73         rotate(angle,v1,v2,v3);
74     }
75
76     std::cout<<"转换后坐标为:"<<"v1:"<<endl<<v1<<endl<<"v2:"<<endl<<v2<<endl<<"v3:"<<endl<<v3<<endl;
77
78     return 0;
79 }

输入一个点P1并进行平移操作:

输入一个线段11并进行平移操作

输入一个三角形t1并进行旋转操作

时间: 2024-11-08 10:51:19

第一次练习的相关文章

C++第一次的作业感想

1.本周小结:这周第一次开始接触C++,上手之后发现并没有想象中的困难,从一开始模仿到看解释,慢慢了解几个代码的意义,就开始做程序,一个个错误的排查,打的数量多了错误就渐渐少了,也尝试了学长教的if,else的语句,感受到了一点成就感. 遇到的问题和解决:一按运行就跳出,询问了老师之后懂了system("pause"):上网查了才知道还要在开头加一个#include<stdlib.h>. 还有没有找到错误,但就是无法运行.查了书,问了同学也没什么头绪. 下周计划:进一步学习

记第一次用Linux搭建LAMP环境

本文为日记,并非技术博客. 嗯,没错,我决定学习linux系统了.虽然不是第一次接触命令行,不过还是挺有压力的.看了两天的Linux基础视频就开始动手搭建自己的LAMP环境. 关于为什么开始接触Linux呢,主要是最近一直在学前端的知识,想换换口味....以前自己写的小网站也都是用windows下的IIS发布的,所以心血来潮决定试试搭建一个Linux的WEB服务器.既然搭建的是WEB服务器,那么首选自然是LAMP环境,也就是Linux+apache+mysql+php啦.至于为什么是LAMP,当

第一次接触终极事务处理——Hekaton

在这篇文章里,我想给出如何与终极事务处理(Extreme Transaction Processing (XTP) )的第一步接触,即大家熟知的Hakaton.如果你想对XTP有个很好的概况认识,我推荐Kalen Delaney写的关于它的白皮书,另外微软研究院也发布了题为“对于内存数据库的高性能并发控制机制(High-Performance Concurrency Control Mechanisms for Main-Memory Databases)”的研究白皮书,点此下载. 所有XTP维

在CentOS上部署Asp.Net MVC3的第一次尝试

关注mono已经很久了,现在才有时间真正的尝试一下在linux中部署asp.net的网站,也算是记录 一下自己的第一次尝试吧. 我的实践的环境是win7 + VM10 + CentOS6.5 下面就是具体的步骤: 1.在linux下搭建asp.net所需要的环境(mono 3.12.0+jexus 5.6.3.12),这一步也已经有很多 可以参考的文章了,大家可以看看惊鸿哥的博客和张善友先生的博客来搭建环境,我搭建的最终如 下: 2.环境搭建好了,当然就是要开发了.开发我是在VS上,将发布后的文

我的“第一次”,就这样没了:DDD(领域驱动设计)理论结合实践

写在前面 插一句:本人超爱落网-<平凡的世界>这一期,分享给大家. 阅读目录: 关于DDD 前期分析 框架搭建 代码实现 开源-发布 后记 第一次听你,清风吹送,田野短笛:第一次看你,半弯新湖,鱼跃翠堤:第一次念你,燕飞巢冷,释怀记忆:第一次梦你,云翔海岛,轮渡迤逦:第一次认你,怨江别续,草桥知己:第一次怕你,命悬一线,遗憾禁忌:第一次悟你,千年菩提,生死一起. 人生有很多的第一次:小时候第一次牙牙学语.第一次学蹒跚学步...长大后第一次上课.第一次逃课.第一次骑自行车.第一次懂事.第一次和喜

第一次作业:阅读优秀博文感想

我是一只咸鱼 不想承认 也不能否认不要同情我笨 又夸我天真 还梦想着翻身咸鱼就算翻身 还是只咸鱼 输得也诚恳至少到最后 我还有咸鱼 不腐烂的自尊我没有任何天分 我却有梦的天真我是傻 不是蠢我将会证明 用我的一生我 如果有梦有没有错 错过才会更加明白明白坚持是什么我 如果有梦梦要够疯 够疯才能变成英雄 ---<咸鱼>五月天 1.选择 选择计算机这个专业纯属偶然,并非出于对这个专业的热爱或者向往.在没有接触到这个专业之前对计算机的理解仅限于平日里接触到的电脑.从小学二年级第一次接触到第一部台式电脑

记一次M1卡破解过程——weigr的第一次博文

一次偶然原因,在网上看到关于一些Mifare Classic card卡的破解文章,发现成本不是很高,并且门槛也不太高(本人笨得很,没觉得低)觉得很有意思,准备入坑一波.正好我寝室有饭卡.洗澡卡和直饮卡,为啥不试一试呢,嘿嘿.说干就干! 于是乎就在网上各种收集资料,(本人懒得很,不想去图书馆查资料)首先我们得搞懂M1卡的内部结构是吧,不然无从下手啊,所以我们先从结构说起吧. 可能文章有点长,着急的话可以直接跳过前面三个点 1.M1卡的存储内部结构: M1卡分为16个扇区,每个扇区对应4块(块0-

第一次的作业,现实的自身

第一部分:结缘计算机 我第一次接触计算机是在小之前学的事了,在我的亲戚家,我哥手把手教学CS,那时候之知道几个按键,连按键的名子,作用的不了解的.之后就是小学的计算机课,老师交一些画图,制表,但那个时候已经有大神可以连网下载小游戏了!我深受其害-我感觉似乎好多的男生都是因为游戏和计算机认识的. 第二部分:在计算机系里学习 13年报考本校的土木工程系,但被调剂带计算机系 ,15年退伍回来复学 开始学习我不曾了解过的计算机!开始接触C语言,数据库,HTML等等.2年的学习,我自己觉得我似乎连编程的"

【第二组】项目冲刺(Beta版本)第一次每日例会 2017/7/18

项目冲刺(Beta版本)第一次每日例会 开发小组:Hunter 冲刺经理:林贵渊 小组成员:刘仁人,张太,李明君,林轩宇   1.每日例会内容 (1)昨天做了什么 1.刘仁人:找UI素材. 2.张太:找BGM,图片,检测与提示,故事设计. 3.李明君:做背景图,个人昵称修改的检测与提示. 4.林轩宇:整合所有项目,移植分支,Alpha版本发布. 5.林贵渊:上传图片功能完善,用户上传界面优化完成. (2)遇到了什么问题 1.刘仁人:没有UI美化设计灵感. 2.张太:没有比较合适的素材. 3.李明

第一次写,python爬虫图片,操作excel。

第一次写博客,其实老早就注册博客园了,有写博客的想法,就是没有行动,总是学了忘,忘了丢,最后啥都没有,电脑里零零散散,东找找,西看看,今天认识到写博客的重要性. 最近闲着看了潭州教育的在线直播课程,颇受老师讲课实用有感.只作为自己笔记学习,我们都知道学习一门编程都是先照抄,在创作.这里完全按照老师讲解,照抄作为学习. 一.Python抓取豆瓣妹子图. 工具:python3.6.0;bs4.6.0;xlwt(1.2.0)需要版本对应,之前就安装了bs4但是运行的时候提示版本不对应.可以在线升级:p