免费视频|新人指南|投诉删帖|广告合作|地信网APP下载

查看: 1413|回复: 5
收起左侧

怎么在Walk中用脚本求一个有向点几何体的角度值呢?

[复制链接]

16

主题

167

铜板

5

好友

助理工程师

Rank: 5Rank: 5

积分
170
发表于 2012-4-13 18:03 | 显示全部楼层 |阅读模式
求教求教?

各位大牛,怎么在Walk中用脚本实现:获取一个有向点几何体的角度值啊?似乎没有这个函数啊!请教请教。。。。。

27

主题

1856

铜板

2

好友

版主

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

积分
1022
发表于 2012-4-13 18:03 | 显示全部楼层
在Walk中,有向点几何体除了本点外,还有一个用于确定方向的隐含点。虽然没有直接的函数可以实现求角度,但是可以按如下方法:
wkPoint pt1=geom.getPointAt(0);
wkPoint pt2=geom.getPointAt(1);
double angle=atan2(pt2.y-pt1.y, pt2.x-pt1.x)*180/pi;
最后的结果转换为角度的!

评分

参与人数 1铜板 +10 收起 理由
max + 10

查看全部评分

回复 支持 反对

使用道具 举报

27

主题

1856

铜板

2

好友

版主

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

积分
1022
发表于 2012-4-13 18:04 | 显示全部楼层
另外,可以做成自己的函数,放在lib文件夹中,以后直接使用
回复 支持 反对

使用道具 举报

7

主题

3511

铜板

4

好友

工程师

Rank: 7Rank: 7Rank: 7

积分
513
发表于 2012-4-13 19:52 | 显示全部楼层
{:1_1:}{:1_1:}{:1_1:}
回复 支持 反对

使用道具 举报

27

主题

1856

铜板

2

好友

版主

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

积分
1022
发表于 2012-4-16 16:19 | 显示全部楼层
double getAngle(wkGeometry geom)
{
        if(geom.type()!=1)
        {
                return 0.0;
        }

        if(geom.getPointCount()<2)
        {
                return 0.0;
        }

        wkPoint pt1=geom.getPointAt(0);
        wkPoint pt2=geom.getPointAt(1);

        double pi=atan2(0, -1.0);
        double angle=atan2(pt2.y-pt1.y, pt2.x-pt1.x) * 180.0/pi;  //数学坐标
        if(angle<0.0)
        {
                angle+=360.0;
        }

        return angle;
}
回复 支持 反对

使用道具 举报

185

主题

2898

铜板

13

好友

地信院士

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

积分
2398
发表于 2012-7-16 13:10 | 显示全部楼层
看看 学习啦!!!!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

在线客服
快速回复 返回顶部 返回列表