根据三角形三边一内角,计算出显示在视图上的坐标点
2016-03-09 10:25
323 查看
CGFloat w = self.frame.size.width;
CGFloat h =
self.frame.size.height;
int rectangle = w > h ? h : w;
// 画布大小
double mMultiples =
1.0; // 缩放比例
// double a = 60;
// double b = 71;
// double c = 70.9721;
// double B = 65.0242;
float ax;
float ay;
float bx;
float by;
float cx;
float cy;
double max = getMax(fabs(a),
fabs(b), fabs(c));
// 3个边长中的最大值
mMultiples = max / (rectangle * 3 /
5);
a = a / mMultiples;
b = b / mMultiples;
c = c / mMultiples;
if (B > 90) {
bx = (float) (rectangle *
4 / 5 - a);
} else {
bx = rectangle / 5;
}
by = rectangle * 4 /
5;
cx = (float) (bx + a);
cy = by = rectangle * 4 /
5;
if (B > 90) {
ax = (float) (bx - c *
cos((180 - B) /
180 * M_PI));
ay = (float) (by - c *
sin((180 - B) /
180 * M_PI));
} else {
if (B < 90) {
ax = (float) (bx + c *
cos((B) / 180 *
M_PI));
ay = (float) (by - c *
sin((B) / 180 *
M_PI));
} else {
ax = bx;
ay = (float) (by - c);
}
}
CGPoint sPoints[3];//坐标点
sPoints[0] = CGPointMake(ax, ay);//坐标1
sPoints[1] = CGPointMake(bx, by);//坐标2
sPoints[2] = CGPointMake(cx, cy);//坐标3
相关文章推荐
- android和httpClient
- javascript获取wx.config内部字段解决微信分享
- ssh操作服务器命令
- ios oc 类之间相互依赖 关于import和@class的区别
- Vim的分割窗口split命令
- MR案例之WordCount
- 神经网络的DBN,CNN,RCNN介绍
- 手机刷机
- Android canvas.save()和canvas.restore()的理解
- 如何将u盘挂载到实例上
- 使用SDWebImage进行异步图片下载和缓存管理
- C语言 原码--反码--补码
- MPAndroidChart 的实现
- mysql,明明没有表,建一个表就出错,说表已经存在
- 调用startactivityforresult后,onactivityresult立刻响应问题
- Android网络编程之Socket
- python 面向对象编程-进阶篇
- Android下音频进行转码(一)
- JAVA的反射机制
- Gradle For Android