目录

问题描述:

解决方案:

编程测试


问题描述:

问题描述:矩形的一个顶点在原点,已知矩形的宽度W以及高度H,以及矩形和X轴方向的夹角角度angle,求离原点较远的两条边的中心坐标点。P(x,y)以及Q(x,y),如下图所示。

解决方案:

求矩形边的中心坐标点,最简单的方法就是将其余三个顶点的坐标全部求出来,只要将两个顶点的坐标点相加除2就是中心点的坐标。Point1和Point3直接利用三角函数求即可。Point2作一条辅助线,找到和point1的关系即可。

x2 + sin(弧度)*h = x1

y1 + cos(弧度)*h = y2

就能得出如下关系

 P.x_ = (2 * cos(angle) * width - sin(angle) * hight) / 2;P.y_ = (2 * sin(angle) * width + cos(angle) * hight) / 2;Q.x_ = (cos(angle) * width - 2 * sin(angle) * hight) / 2;Q.y_ = (sin(angle) * width + 2 * cos(angle) * hight) / 2;

编程测试

设长度和高度都是根号2,角度为45度,将程序计算结果和实际结果对比一下即可。

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define PI 3.141592typedef struct {float x_;float y_;
}PointSturuct;int main() {float width = sqrt(2);float hight = sqrt(2);float angle = 45 * (PI/180); //角度换成弧度制  三角函数入參是弧度值PointSturuct P, Q;P.x_ = (2 * cos(angle) * width - sin(angle) * hight) / 2;P.y_ = (2 * sin(angle) * width + cos(angle) * hight) / 2;Q.x_ = (cos(angle) * width - 2 * sin(angle) * hight) / 2;Q.y_ = (sin(angle) * width + 2 * cos(angle) * hight) / 2;printf("P(x,y) = (%f,%f)\r\n",P.x_,P.y_);printf("Q(x,y) = (%f,%f)\r\n",Q.x_,Q.y_);//float x = sin(angle);//float y = cos(angle);//printf("sin(angle) = %f\r\ncos(angle) = %f\r\n", x,y);system("pause");
}

已知矩形的宽和高以及与x轴夹角,求对边的两条边的中心坐标相关推荐

  1. 在平面内,已知矩形的中心点坐标、长、宽和倾斜角度,求矩形四个角点的坐标

    实现思路: 1.已知矩形的中心点坐标.长和宽,求矩形在不旋转的情况下矩形的四个顶点坐标: 2.再求按逆时针旋转一定角度后的四个点坐标: (在平面内,已知一个矩形的四个角坐标,将矩形绕中心点转动一个角度 ...

  2. 已知矩形面积,求最小周长

    1283 最小周长 1.0 秒 131,072.0 KB 20 分 初学者3级题 一个矩形的面积为S,已知该矩形的边长都是整数,求所有满足条件的矩形中,周长的最小值.例如:S = 24,那么有{1 2 ...

  3. 已知三角形三边求面积的c语言程序,已知三角形三边分别为4,5,6,求三角形的面积。用c语言编写程序...

    已知三角形三边分别为4,5,6,求三角形的面积.用c语言编写程序 关注:114  答案:6  mip版 解决时间 2021-01-18 16:33 提问者谁把流年搁浅 2021-01-17 23:52 ...

  4. 已知abc+cba=1333,其中abc均为一位数,求出符合条件的abc的值

    已知abc+cba=1333,其中abc均为一位数,求出符合条件的abc的值 #include<stdio.h> int main(){int a,b,c;for(a=1;a<=9; ...

  5. 穷举问题-搬砖某工地需要搬运砖块,已知男人一人搬3块,女人一人搬2块,小孩两人搬1块。如果想用n人正好搬n块砖,问有多少种搬法? 输入格式:

    某工地需要搬运砖块,已知男人一人搬3块,女人一人搬2块,小孩两人搬1块.如果想用n人正好搬n块砖,问有多少种搬法? 输入格式: 输入在一行中给出一个正整数n. 输出格式: 输出在每一行显示一种方案,按 ...

  6. 某工地需要搬运砖块,已知男人一人搬3块,女人一人搬2块,小孩两人搬1块。如果想用n人正好搬n块砖,问有多少种搬法

    题目编号: 136 输入格式: 输入在一行中给出一个正整数n. 输出格式: 输出在每一行显示一种方案,按照"men = cnt_m, women = cnt_w, child = cnt_c ...

  7. 求矩形中心点坐标编程c语言,三角函数在图形学里的应用(四) ​已知矩形的中心点、边长、phi求四个顶点的坐标...

    已经矩形的中心点.边长.phi求四个顶点的坐标 在halcon里面,类似gen_measure_rectangle2.smallest_rectangle2的算子表示任意角度的矩形. 其信息包括:矩形 ...

  8. 已知矩形的三个顶点坐标,求最后一个的顶点坐标(向量求法)

    做car的旅行路线遇到的,先用向量法找出直角边,再利用对角线上的点横坐标之和等于中点横坐标的二倍求出. 例如上面这个矩形,当已知三个点的时候,我们很容易可以用向量法求出哪个点是直角点. 我们可以判断( ...

  9. matlab两点间的球面距离,用MATLAB求点到椭球面距离已知如图a、b和点的位置,求点到球面的距离。最好是用MATLAB的。谢谢~...

    这个应当不难:可以采用参数方程画出椭圆,然后利用点坐标到参数方程的距离解决:问题是楼主的表达有问题,如果是点到线的距离就有多个值,(准确的说是个函数),例如,原点(0,0)到椭圆右端点距离是a/2,到 ...

最新文章

  1. iOS--OCR图片识别
  2. License for package Android SDK Build-Tools 28.0.2 not accepted.(MAC)
  3. 人生苦短,喝点python性能鸡汤
  4. @PathVariable、@RequestHeader与@CookieValue注解的使用案例
  5. npm 下载第三方包
  6. 如何开始Java机器学习
  7. 数据分析的工作目标是什么
  8. shell 脚本实现的 deamon 守护进程
  9. GBase 8c的运行环境
  10. mysql连接错误state 08S01
  11. Linux与Windows的区别与比较,及Linux基本命令
  12. 黄建宏-redis多机数据库
  13. Leetcode 648.单词替换(Replace Words)
  14. android 推送历史 coolapk,酷安(com.coolapk.market) - 11.2.2 - 应用 - 酷安
  15. dsf5.0组件相关
  16. 硬币面值组合的算法题解
  17. 网络——VRRP、浮动路由(备份路由)
  18. 数字媒体是以计算机和网络为基础,03-17 数字媒体艺术概论第一章
  19. 用xgboost模型对特征重要性进行排序
  20. AD5541输出控制

热门文章

  1. buddy内存分配算法浅析
  2. oracle闪回空间使用率,oracle闪回区满了解决方案
  3. MSM8909平台UIM驱动流程
  4. JSP的scriptlet
  5. 专利会不会成为小米上市的绊脚石?
  6. 描述性物理海洋学--第七章学习笔记
  7. 程序员职业规划:30岁后如何实现质的突破!
  8. 谈谈国外互联网公司的骨干网
  9. 【NOI2014】起床困难综合症 解题报告
  10. 汉诺塔(河内之塔)相关题目