主要由顶点容器构成的平面图形类(Shape)——(第一次作业Draw类定义升级)
// https://github.com/orocos/orocos_kinematics_dynamics/blob/master/orocos_kdl/src/frames.hpp
// Vector2 defination #include <iostream>
#include <cstring>
#include<string>
#include <math.h>
#include <vector>
#include <frames.hpp>
using namespace std;
using namespace KDL;
#define PI 3.1415926 class Point //二维点class
{
public:
Vector2 point;//二维点
string name;
Point(Vector2 v,string s){point=v;name=s;};
Point(Vector2 v){point=v;};
Point(double x,double y){point=Vector2(x,y);}
Point(){};
void move_p(double x,double y);//平移算子
void rota_p(double an);//旋转算子
};
void Point::move_p(double x,double y){point+=Vector2(x,y);}
void Point::rota_p(double an){
Rotation2 rot(-an/*PI);
point=rot.Inverse(point);
} //class defination finished; ostream&
operator << (ostream& os, const Point& X)
{
return os << '(' << X.point.x()<< ',' << X.point.y()<< ')';
}
//重载运算符 class Shape //由点构成的二维图形class
{
public:
string name;//名称
int n; //顶点数
vector<Point> points;//顶点容器
Shape(string s){name=s;}
Shape(){}
void getpoint(Point p){points.push_back(p);}
void move_s(double x,double y){for(int i=;i<points.size();i++)points[i].move_p(x,y);}
void rota_s(double an){for(int j=;j<points.size();j++)points[j].rota_p(an);}
}; int main(){
Point p(,),p1(,),p2(,);
Shape s1("mine");
s1.getpoint(p);
s1.getpoint(p1);
s1.getpoint(p2); cout<<"图形"<<s1.name<<"里面有"<<s1.points.size()<<"个点"<<endl;
vector<Shape> volume();//图形容器
volume.push_back(s1); cout<<"当前有"<<volume.size()<<"个图形"<<endl;
s1.move_s(,);
for(int i=;i<s1.points.size();i++)cout<<s1.points[i]<<endl; return ;
}
主要由顶点容器构成的平面图形类(Shape)——(第一次作业Draw类定义升级)的更多相关文章
- 2.定义图形类Shape,该类中有获得面积的方法getArea();定义长方形类Rect,该类是Shape的子类,类中有矩形长和宽的变量double a,double b,设置长和宽的方法setWidth()、setHeight(),使用getArea()求矩形面积;利用getArea方法实现题1中圆面积的求解。
// 图形类Shape package d922B; public class Shape { double getArea(ShapePara x){ return x.getArea(); } d ...
- DI容器Ninject在管理接口和实现、基类和派生类并实现依赖注入方面的实例
当一个类依赖于另一个具体类的时候,这样很容易形成两者间的"强耦合"关系.我们通常根据具体类抽象出一个接口,然后让类来依赖这个接口,这样就形成了"松耦合"关系,有 ...
- 以点类 Point 及平面图形类 Plane 为基础设计圆类 Circle
学习内容:以点类 Point 及平面图形类 Plane 为基础设计圆类 Circle 代码示例: import java.util.Scanner; class Point2{ private dou ...
- 以点类 Point 及平面图形类 Plane 为基础设计三角形类 Triangle
学习内容:以点类 Point 及平面图形类 Plane 为基础设计三角形类 Triangle 代码示例: import java.util.Scanner; class Point{ private ...
- C#基础-事件 继承类无法直接引发基类的事件
An event can be raised only from the declaration space in which it is declared. Therefore, a class c ...
- JPA实体类注解、springboot测试类、lombok的使用
前提准备: 搭建一个springboot项目,详情请参见其它博客:点击前往 1 引入相关依赖 web.mysql.jpa.lombok <?xml version="1.0" ...
- Effective Java 第三版——23. 优先使用类层次而不是标签类
Tips <Effective Java, Third Edition>一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将 ...
- arcgis for js学习之Draw类
arcgis for js学习之Draw类 <!DOCTYPE html> <html> <head> <meta http-equiv="Cont ...
- UML与软件建模:第二次作业(类图中类的表示)
一.类图 (1)类图定义 类图,是UML(统一建模语言)中用于描述"类"以及"类与类"之间的示意图.它形象的描述出了系统的结构,帮助人们理解系统. 类图是在&q ...
随机推荐
- Windows Store App Image开发示例
通过上面的介绍,读者已经了解了Image对象及ImageBrush对象的使用方法和常用属性,在实际的开发工作中,比较常用的是Image对象,下面以一个幼儿园识物识字卡应用为例,来帮助读者更好的理解Im ...
- 一个crackme的分析
是看雪合集的一个,因为老师让我们多练习,所以我就找了个crackme来练习 http://images2015.cnblogs.com/blog/638600/201612/638600-201612 ...
- asp.netajax开发应用心得-accordation控件的事件处理
今天,再次运行以前的项目时,发现按钮的单击事件不起作用了,加了断点之后发现根本没有触发该事件.... 按照网上找到的答案,有的说把控件删掉重新拖拽一个进去,虽然以前也遇到过控件失效,重新拖拽有效的时候 ...
- ubuntu命令
chmod 777.755 root权限 rm 删除文件 rm -rf 删除文件夹 ctrl+o 保存 ctrl+x 退出 :wq 保存并退出 查看一台服务器上面哪些服务及端口 netstat -l ...
- Android中的几种解析XML文件的类
Ø DOM解析 优点: 1.XML树在内存中完整存储,因此可以直接修改其数据和结构. 2.可以通过该解析器随时访问XML树中的任何一个节点. 3.DOM解析器的API在使用上也相对比较简单. 缺点:如 ...
- P53 T5
北京某高校可用的电话号码有以下几类:校内电话号码由4位数字,第1位数字不是0:校外电话又分为本市电话和外地电话两类,拔校外电话需先拔0,若是本市电话则再接着拔8位数字(第一位不是0),若是外地电话则拔 ...
- Anjs分词器以及关键词抓取使用的方法
首先介绍一下这个网址非常有用本文所有的关于Anjs起源来自这里请先查看一下 https://github.com/NLPchina/ansj_seg 在本次测试使用的是 import java ...
- Sublime Text 3 中文乱码的解决方法
Sublime Text 3 中文乱码表现如下图: 解决方法很简单,三步搞定: 步骤一: 下载ConvertToUTF8,下载地址:http://pan.baidu.com/s/1gd5SWmB 步骤 ...
- Android Binder
http://blog.csdn.net/luoshengyang/article/details/6618363 Android进程间通信(IPC)机制Binder简要介绍和学习计划
- OC基础--类的本质
类的本质: 类的本质其实也是一个对象(类对象),只要有了类对象, 将来就可以通过类对象来创建实例对象 程序中第一次使用该类的时候被创建,在整个程序中只有一份.此后每次使用都是这个类对象,它在程序运行时 ...