找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 266|回复: 12
打印 上一主题 下一主题

[已解决] 请问怎么获得一段圆弧的中点??

[复制链接]

102

主题

377

帖子

1158

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1158
跳转到指定楼层
1#
发表于 2016-7-12 08:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您!

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 361553894 于 2016-7-12 15:50 编辑

我记得在pdf中看到过这个函数的
是圆弧的中点,不是弦的中点,也不是圆弧的圆心
自己算太麻烦了
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏1 支持!支持! 反对!反对!

1

主题

10

帖子

26

积分

二级会员(20)

Rank: 2Rank: 2

积分
26
推荐
发表于 2016-7-12 14:48 | 只看该作者
如果硬是要用这个函数的话,就可以先使用axlDB2Path函数来转换成path参数,再通过上述函数对其里面的各个path成员来获取中a心。比如:l 为某段path的DBid参数, foreach(a axlDB2Path(l)->_pathList println(axlPathSegGetArcCenter(a))) 输出包含中心点的arc中心坐标。

1

主题

10

帖子

26

积分

二级会员(20)

Rank: 2Rank: 2

积分
26
2#
发表于 2016-7-12 14:37 | 只看该作者
axlPathSegGetArcCenter
但是其参数不是dbid格式,而是r_path

点评

你这是圆弧的圆心,不是中点  详情 回复 发表于 2016-7-12 14:44

102

主题

377

帖子

1158

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1158
3#
 楼主| 发表于 2016-7-12 14:44 | 只看该作者
Jun_Sky 发表于 2016-7-12 14:37
axlPathSegGetArcCenter
但是其参数不是dbid格式,而是r_path

你这是圆弧的圆心,不是中点

1

主题

10

帖子

26

积分

二级会员(20)

Rank: 2Rank: 2

积分
26
5#
发表于 2016-7-12 14:49 | 只看该作者
看错了。不好意思。

点评

圆弧的圆心只要arc->xy就能获取到 中心可以用起点car(arc->startEnd)按照旋转方向旋转一半的角度就能获得,比较麻烦而已 官方应该有自带的获取圆弧中点的函数吧?  详情 回复 发表于 2016-7-12 15:28

102

主题

377

帖子

1158

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1158
6#
 楼主| 发表于 2016-7-12 15:28 | 只看该作者
Jun_Sky 发表于 2016-7-12 14:49
看错了。不好意思。

圆弧的圆心只要arc->xy就能获取到
中心可以用起点car(arc->startEnd)按照旋转方向旋转一半的角度就能获得,比较麻烦而已
官方应该有自带的获取圆弧中点的函数吧?

1

主题

10

帖子

26

积分

二级会员(20)

Rank: 2Rank: 2

积分
26
7#
发表于 2016-7-12 15:29 | 只看该作者
那你是指axlGeoArcCenterRadius函数吧!?

点评

我已经写出来了  详情 回复 发表于 2016-7-12 15:42

102

主题

377

帖子

1158

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1158
8#
 楼主| 发表于 2016-7-12 15:42 | 只看该作者
Jun_Sky 发表于 2016-7-12 15:29
那你是指axlGeoArcCenterRadius函数吧!?


我已经写出来了
我说的圆弧中心就这么难理解吗?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

1

主题

10

帖子

26

积分

二级会员(20)

Rank: 2Rank: 2

积分
26
9#
发表于 2016-7-12 15:52 | 只看该作者
下载不了附件。用啥函数?可以用axl_ol_ol2处理吗?

点评

中心可以用起点car(arc->startEnd)按照旋转方向旋转一半的角度就能获得 圆弧的圆心角可以根据圆心到起点(终点)的射线的夹角获得  详情 回复 发表于 2016-7-12 15:56

102

主题

377

帖子

1158

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1158
10#
 楼主| 发表于 2016-7-12 15:56 | 只看该作者
Jun_Sky 发表于 2016-7-12 15:52
下载不了附件。用啥函数?可以用axl_ol_ol2处理吗?

中心可以用起点car(arc->startEnd)按照旋转方向旋转一半的角度就能获得
圆弧的圆心角可以根据圆心到起点(终点)的射线的夹角获得

点评

学习了。谢谢!  详情 回复 发表于 2016-7-12 16:08

1

主题

10

帖子

26

积分

二级会员(20)

Rank: 2Rank: 2

积分
26
11#
发表于 2016-7-12 16:08 | 只看该作者
361553894 发表于 2016-7-12 15:56
中心可以用起点car(arc->startEnd)按照旋转方向旋转一半的角度就能获得
圆弧的圆心角可以根据圆心到起点 ...

学习了。谢谢!

点评

procedure( wlGetVectorAngle(start end) let( (slope angle) slope = axlLineSlope(list(start end)) if(slope then angle = atan(slope) * 180.0 / Pi when(car(end) < car(start) angle = angle +  详情 回复 发表于 2016-7-12 16:27

102

主题

377

帖子

1158

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1158
12#
 楼主| 发表于 2016-7-12 16:27 | 只看该作者
Jun_Sky 发表于 2016-7-12 16:08
学习了。谢谢!

procedure( wlGetVectorAngle(start end)
let( (slope angle)
slope = axlLineSlope(list(start end))
if(slope then
  angle = atan(slope) * 180.0 / Pi
  when(car(end) < car(start)
   angle = angle + 180.0
  )
  when(angle < 0 angle = angle + 360.0)
else
  if(cadr(end) > cadr(start) then
   angle = 90.0
  else
   angle = 270.0
  )
)
angle
))

这是获取射线角度的函数,角度范围为0~360度

93

主题

645

帖子

3395

积分

五级会员(50)

Rank: 5

积分
3395
13#
发表于 2016-7-12 17:46 | 只看该作者
66666666
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2024-11-30 02:06 , Processed in 0.088465 second(s), 44 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表