已知矩形的宽和高以及与x轴夹角,求对边的两条边的中心坐标
目录
问题描述:
解决方案:
编程测试
问题描述:
问题描述:矩形的一个顶点在原点,已知矩形的宽度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.已知矩形的中心点坐标.长和宽,求矩形在不旋转的情况下矩形的四个顶点坐标: 2.再求按逆时针旋转一定角度后的四个点坐标: (在平面内,已知一个矩形的四个角坐标,将矩形绕中心点转动一个角度 ...
- 已知矩形面积,求最小周长
1283 最小周长 1.0 秒 131,072.0 KB 20 分 初学者3级题 一个矩形的面积为S,已知该矩形的边长都是整数,求所有满足条件的矩形中,周长的最小值.例如:S = 24,那么有{1 2 ...
- 已知三角形三边求面积的c语言程序,已知三角形三边分别为4,5,6,求三角形的面积。用c语言编写程序...
已知三角形三边分别为4,5,6,求三角形的面积.用c语言编写程序 关注:114 答案:6 mip版 解决时间 2021-01-18 16:33 提问者谁把流年搁浅 2021-01-17 23:52 ...
- 已知abc+cba=1333,其中abc均为一位数,求出符合条件的abc的值
已知abc+cba=1333,其中abc均为一位数,求出符合条件的abc的值 #include<stdio.h> int main(){int a,b,c;for(a=1;a<=9; ...
- 穷举问题-搬砖某工地需要搬运砖块,已知男人一人搬3块,女人一人搬2块,小孩两人搬1块。如果想用n人正好搬n块砖,问有多少种搬法? 输入格式:
某工地需要搬运砖块,已知男人一人搬3块,女人一人搬2块,小孩两人搬1块.如果想用n人正好搬n块砖,问有多少种搬法? 输入格式: 输入在一行中给出一个正整数n. 输出格式: 输出在每一行显示一种方案,按 ...
- 某工地需要搬运砖块,已知男人一人搬3块,女人一人搬2块,小孩两人搬1块。如果想用n人正好搬n块砖,问有多少种搬法
题目编号: 136 输入格式: 输入在一行中给出一个正整数n. 输出格式: 输出在每一行显示一种方案,按照"men = cnt_m, women = cnt_w, child = cnt_c ...
- 求矩形中心点坐标编程c语言,三角函数在图形学里的应用(四) 已知矩形的中心点、边长、phi求四个顶点的坐标...
已经矩形的中心点.边长.phi求四个顶点的坐标 在halcon里面,类似gen_measure_rectangle2.smallest_rectangle2的算子表示任意角度的矩形. 其信息包括:矩形 ...
- 已知矩形的三个顶点坐标,求最后一个的顶点坐标(向量求法)
做car的旅行路线遇到的,先用向量法找出直角边,再利用对角线上的点横坐标之和等于中点横坐标的二倍求出. 例如上面这个矩形,当已知三个点的时候,我们很容易可以用向量法求出哪个点是直角点. 我们可以判断( ...
- matlab两点间的球面距离,用MATLAB求点到椭球面距离已知如图a、b和点的位置,求点到球面的距离。最好是用MATLAB的。谢谢~...
这个应当不难:可以采用参数方程画出椭圆,然后利用点坐标到参数方程的距离解决:问题是楼主的表达有问题,如果是点到线的距离就有多个值,(准确的说是个函数),例如,原点(0,0)到椭圆右端点距离是a/2,到 ...
最新文章
- iOS--OCR图片识别
- License for package Android SDK Build-Tools 28.0.2 not accepted.(MAC)
- 人生苦短,喝点python性能鸡汤
- @PathVariable、@RequestHeader与@CookieValue注解的使用案例
- npm 下载第三方包
- 如何开始Java机器学习
- 数据分析的工作目标是什么
- shell 脚本实现的 deamon 守护进程
- GBase 8c的运行环境
- mysql连接错误state 08S01
- Linux与Windows的区别与比较,及Linux基本命令
- 黄建宏-redis多机数据库
- Leetcode 648.单词替换(Replace Words)
- android 推送历史 coolapk,酷安(com.coolapk.market) - 11.2.2 - 应用 - 酷安
- dsf5.0组件相关
- 硬币面值组合的算法题解
- 网络——VRRP、浮动路由(备份路由)
- 数字媒体是以计算机和网络为基础,03-17 数字媒体艺术概论第一章
- 用xgboost模型对特征重要性进行排序
- AD5541输出控制