第一次编程作业
2015-11-30 21:44
337 查看
#include <iostream> #include <stdlib.h> #include <string.h> #include <Eigen/Dense> #include <math.h> using namespace std; using namespace Eigen; using Eigen::MatrixXd; RowVector2f coordinate(char str[]) { RowVector2f v; v(0)=0; v(1)=0; char a[50],b[50]; int i,j,k; j=0,k=0; for(i=1;str[i]!=',';i++) { v(0)=10*v(0)+str[i]-'0'; j++; } i++; for(i;str[i]!=')';i++) { v(1)=10*v(1)+str[i]-'0'; k++; } return v; } int main() { char name[50]; int n; double ang,deg; char s1[50]; char s2[50]; char s3[50]; char s4[50]; char s5[50]; char s6[50]; RowVector2f v1; RowVector2f v2; RowVector2f v3; RowVector2f v4; Matrix2f rot; float pi=3.14159265; cout<<"请输入图形名称"; cin>>name; cout<<"请输入图形端点数"; cin>>n; cout<<"请输入图形端点坐标"; if(n==1) { cin>>s1; v1=coordinate(s1); } else if(n==2) { cin>>s1; cin>>s2; v1=coordinate(s1); v2=coordinate(s2); } else if(n==3) { cin>>s1; cin>>s2; cin>>s3; v1=coordinate(s1); v2=coordinate(s2); v3=coordinate(s3); } else { cout<<"输入有误"; } cout<<"请输入一个计算指令"; cin>>s4; if( strcmp(s4,"move")==0) { cout<<"请输入需变化图形名称"; cin>>s5; cout<<"请输入变换坐标"; cin>>s6; v4=coordinate(s6); if(n==1) { v1=v1+v4; cout<<"变换后的坐标为("<<v1<<")"; } if(n==2) { v1=v1+v4; v2=v2+v4; cout<<"变换后的坐标为("<<v1<<")("<<v2<<")"; } if(n==3) { v1=v1+v4; v2=v2+v4; v3=v3+v4; cout<<"变换后的坐标为("<<v1<<")("<<v2<<")("<<v3<<")"; } } if( strcmp(s4,"rotate")==0) { cout<<"请输入需变化图形名称"; cin>>s5; cout<<"请输入变换角度"; cin>>ang; deg=ang/180*pi; rot(0,0)=cos(deg); rot(0,1)=sin(deg); rot(1,0)=-sin(deg); rot(1,1)=cos(deg); if(n==1) { v1=v1*rot; cout<<"变换后的坐标为("<<v1<<")"; } if(n==2) { v1=v1*rot; v2=v2*rot; cout<<"变换后的坐标为("<<v1<<")("<<v2<<")"; } if(n==3) { v1=v1*rot; v2=v2*rot; v3=v3*rot; cout<<"变换后的坐标为("<<v1<<")("<<v2<<")("<<v3<<")"; } } return 0; }
相关文章推荐
- 对Java文件进行jar打包成可执行文件
- 单链表实现就地逆转
- c语言头文件大全
- ASP.NET MVC 应用,站点发布到本地IIS
- 我的第八个java程序--读取word内容
- win编程实践(5)【c++】- 右值引用
- 并发编程源码分析一之Log接口
- 中序遍历非递归算法(C语言版)
- qt_简易记事本_2
- Java 程序性能优化《第一章》Java性能调优概述 1.1性能概述
- 强大的vim配置文件,让编程更随意
- 文章标题Spring的依赖注入和反转
- java.lang.Void类
- Java SE-最全的单例模式详解
- 【Java】Java之经典循环小例子
- LeetCode_Best Time to Buy and Sell Stock
- php cookie&session小记
- property代码生成
- java基础学习——变量,java基本类型,运算符和表达式笔试题
- java中interface的详解