大作业第一天

明确任务后,在第二次作业的基础上,了解了坐标系的类所应该包含的内容以及完成的任务

从而完善frame的头文件和源文件的内容

#ifndef FRAME_H
#define FRAME_H
#include "point.h"
class frame
{
 public:
  frame();
  TaskFrame(double a=0,double b=0,double d=0);
  WorldFrame(double a=0,double b=0,double d=0);
          void WtoT(Point &p);
          void TtoW(Point &p);
          void TtoJ(Point &p,double a1,double a2);
       
  
 private:
    double x;
    double y;
    double xangle;
  
};

#endif

#include "frame.h"
 #include<Eigen/Dense>
 #include<cmath>
frame::frame()
{
}
       TaskFrame(double a=0,double b=0,double d=0);
          void WtoT(Point &p);
          void TtoW(Point &p);
          void TtoJ(Point &p,double a1,double a2);
  };
 
void frame::TaskFrame(double a,double b,double A){
      x=a;
      y=b;
      ang=A;
  }
 void frame::WorldFrame(double a,double b,double A){
      x=a;
      y=b;
      ang=A;
  }
  void frame::WtoT(Point &p){
      MatrixXd m(3,3);
      MatrixXd pt(1,3);
      double deg;
      deg=ang*PI/180;
      m(0,0)=cos(deg);
      m(0,1)=sin(deg);
      m(0,2)=0;
      m(1,0)=-sin(deg);
      m(1,1)=cos(deg);
      m(1,1)=0;
      m(2,0)=x,
      m(2,1)=y;
      m(2,2)=0;
      pt(0,0)=p.x;
      pt(0,0)=p.y;
      pt(0,2)=1;
      pt*=m;
      p.x=pt(0,0);
      p.y=pt(0,1);   
  }
  void frame::TtoW(Point &p){
      MatrixXd m(3,3);
      MatrixXd pt(1,3);
      double deg;   
      deg=ang*PI/180;
      m(0,0)=cos(deg);
      m(0,1)=sin(deg);
      m(0,2)=0;
      m(1,0)=-sin(deg);
      m(1,1)=cos(deg);
      m(1,1)=0;
      m(2,0)=x;
      m(2,1)=y;
      m(2,2)=0;
      pt(0,0)=-p.x;
      pt(0,0)=-p.y;
      pt(0,2)=1;
      pt*=m;
      p.x=pt(0,0);
      p.y=pt(0,1);
  }
  void frame::TtoJ(Point &p,double a1,double a2){
      double l,deg1,deg2,deg3;
      l=sqrt(p.x*p.x+p.y*p.y);
      deg1=atan(p.y/p.x);
      deg2=acos((a1*a1+l*l-a2*a2)/(2*a1*l));
      deg3=acos((a1*a1+a2*a2-l*l)/(2*a1*a2));
      p.x=(deg1+deg2)*180/PI;
      p.y=deg3*180/PI+180;
  }

时间: 2024-10-15 00:14:08

大作业第一天的相关文章

机电传动控制大作业第一阶段

机电传动控制大作业第一阶段 一.系统硬件接口定义 系统硬件可分为显示部分.按键输入部分和运动控制部分. 显示部分包括每个楼层的电梯外的楼层显示LED和上下楼指示箭头.电梯内的楼层显示LED和上下楼箭头,LED显示如果用七段共阴数码管则每个LED需要七个继电器来控制显示字符,上下楼箭头每个需要两个继电器IO进行控制,而控制它们的信号源则来自每层楼的行程开关,共七个开关进行输入. 按键输入部分为电梯内和楼层中,电梯内七个常开触点输入楼层,两个常开触点控制开关门,同时需要点亮楼层按键上的指示灯,则需要

机电传动控制大作业 第一阶段

机电传动控制大作业 第一阶段 一.系统硬件接口定义 1.电梯内操作界面: 标有1-7数字的按钮(每个按钮有一个LED灯,按下按钮灯即亮),开门,关门以及紧急报警的按钮和楼层指示的LED数码管.电梯门的打开和关闭需要两个行程开关,接收到开关门的信息可以直接控制门的开关. 2.楼栋操作界面: 2-6层有上行和下行按钮,1层只有上行,7层只有下行.每个按钮都连接一个LED灯(按下按钮灯即亮).两个LED数码管显示所在的楼层. 3.动力相关硬件: 每部电梯配有一台交流异步变频电机和变频器,电机接口接电机

华南理工数据结构大作业第一题单链表 删除创建等各种简易操作

#include<iostream> #include<windows.h> #include<string> /* (1) 初始化单链表h: (2) 依次插入5个元素:{"张三" , 85}, {"李四" , 95}, {"王五" , 75}, {"陈军" , 80}, {"程涛" , 90} (3) 输出单链表h的内容: (4) 输出单链表的长度: (5) 输出单链表

第一周大作业1

---恢复内容开始--- 田继平-软件工程-第一次作业 一.自我介绍大家好,我叫田继平,目前就读于东北师范大学信息科学与技术学院计算机技术专业,是一名在读的专硕研一学生,本科就读于北华大学计算机科学技术学院,专业是计算机科学与技术,籍贯吉林省榆树市.二.回答作业问题1.回想一下你曾经对计算机专业的畅想我高考后报考的是计算机科学与技术,当时对计算机技术基本了解为零,当时以为什么东西都会用到计算机,学计算机以后不会找不到工作,刚开学的时候对计算机一窍不通,甚至连优盘拔出来,要单击右键然后弹出都不会,

DIP大作业---图像分割

数字图像处理课程的大作业,要求如下: 图像分割就是把图像分成若干个特定的.具有独特性质的区域并提出感兴趣目标的技术和过程.它是由图像处理到图像分析的关键步骤.现有的图像分割方法主要分以下几类:基于阈值的分割方法.基于区域的分割方法.基于边缘的分割方法以及基于特定理论的分割方法等.图像分割后提取出的目标可以用于图像语义识别,图像搜索等等领域.要求1:输入一副真彩色RGB图像dog.jpg,完成对小狗的分割,输入结果为只包含小狗区域的二值图(matlab环境下,小狗区域值为1,其他区域值为0).要求

深度学习与自然语言处理(4)_斯坦福cs224d 大作业测验1与解答

深度学习与自然语言处理(4)_斯坦福cs224d 大作业测验1与解答 作业内容翻译:@胡杨([email protected]) && @胥可([email protected]) 解答与编排:寒小阳 && 龙心尘 时间:2016年6月 出处: http://blog.csdn.net/han_xiaoyang/article/details/51760923 http://blog.csdn.net/longxinchen_ml/article/details/51765

[留念贴] C#开发技术期末大作业——星月之痕

明天就要去上海大学参加 2015赛季 ACM/ICPC 最后一场比赛 —— EC-Final,在这之前,顺利地把期末大作业赶出来了. 在这种期末大作业10个人里面有9个是从网上下载的国内计算机水平五六流大学里学习编程,我感到压力很大. 但我依然选择作死——纯手工打造.庆幸的是,历时四天,翘课无数,现在基本完工了. 下载地址:http://pan.baidu.com/s/1pKx6OnL(还有一些小问题,但是逻辑上的BUG不存在了) 下载之后先解压,然后打开DestroyStars\Destroy

第三次大作业-作业准备

在第二次大作业结束之后,第三次大作业-白盒测试实践在三周内进行. 由于大家刚进行完一次大作业的辛苦工作,于是本组决定第一周交由大家复习学习之前的黑盒测试实践.搜集资料.自发配置工作环境和工具.进行自己的数学课程复习以及实验室工作.在这段时间内,大家对选择的测试工具进行了一定的了解,在SPOC课程中进行视频学习,学习白盒测试相关的知识点,并在今晚进行了一定的整合. 预计将从明天起正式分工投入到这次作业的工作中! 一.白盒测试实践作业 (1)阶段一:熟悉白盒测试方法. (2)阶段二:熟悉代码复审的过

XML大作业

XML大作业 共两题,均于实验上机完成 第一题:在xml文档中使用DTD 第二题:掌握使用xsl显示xml文件的基本方法 第一题: 一.实验目的 (1)通过本实验,使学生能够了解并掌握XML DTD的定义方法及其用途 (2)了解并掌握DTD元素申明的基本语法 (3)了解并掌握DTD属性申明的基本语法 (4)了解并掌握DTD实体申明的基本语法 (5)了解并掌握DTD标记申明的基本语法 (6)了解并掌握XMLSpy中基于DTD的XML文件输入 二.实验条件 配置有windows记事本.写字板或XML