当前位置: 代码迷 >> Android >> 计算半圆形y坐标
  详细解决方案

计算半圆形y坐标

热度:66   发布时间:2016-05-01 12:19:52.0
计算半圆y坐标
本帖最后由 rui90102 于 2012-12-15 12:31:43 编辑


如上图,如何计算每个图的y坐标
------解决方案--------------------
你是说上面的六个小圆?分别由他们连接圆心,就把一个90度分成了5份,一份就是18度,如果定义任意一个小圆到圆心(就是那个红色的圆)的距离,也就是半径为R,最高的小圆的坐标为(x,y)那么其他的y坐标依次为
(y - (1-cos(a))*R),其中a依次取18度、36度、54度、72度、90度。不知道你问的是不是这个意思。Java中计算cos有Math.cos(double arg0);
------解决方案--------------------
为何要计算额?系统不是给了得到坐标的方法嘛,直接调用就行,getLocationOnScreen()。

这样用:
int[] location = new int[2];
            t.getLocationOnScreen(location);
            int x = location[0];
            int y = location[1];

!要等UI控件都加载完了才能调用这个方法,不然获取到的结果是0。
------解决方案--------------------
引用:
引用:你是说上面的六个小圆?分别由他们连接圆心,就把一个90度分成了5份,一份就是18度,如果定义任意一个小圆到圆心(就是那个红色的圆)的距离,也就是半径为R,最高的小圆的坐标为(x,y)那么其他的y坐标依次为
(y - (1-cos(a))*R),其中a依次取18度、36度、54度、72度、90度。不知道你问的是不是这个意思。……


手机屏幕通常都是以左上叫为(0,0)点,你要摆放如图一个四分之一圆,先放第一个位置(x,y)随便你放的(比如你放到屏幕(100,100)位置,就是你的相机图标的位置了),剩下的图,根据你要显示的四分之一圆的大小,先设定一个半径R(比如是400),那么其余图标的坐标就一次为 (x1, y1): x1 = (x + sin(a)*R), y1 = (y + (1-cos(a))*R),其中a依次取18度、36度、54度、72度、90度,就是对应的人、位置、音乐、信息、月亮的图标的位置,不知道我这么说你能明白不。
------解决方案--------------------
求人品,求积分
------解决方案--------------------
非要那么精准么?又不是造火箭- -
手动设置值,调整到差不多就行了,省时又省事。
当然这只是我的意见,给你参考下。
如果你非要追求完美,那学长就帮不了你了(数学实在是差。。。)
  相关解决方案