乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 69|回复: 3

为何运行结果不是直线与圆弧相切

[复制链接]

7

主题

12

帖子

1

银币

初来乍到

Rank: 1

铜币
40
发表于 2004-6-22 21:30:00 | 显示全部楼层 |阅读模式
过三点 cp1 、cp2、 cp3作曲线,其中cp1 、cp2段为直线,cp2 、cp3段为圆弧,且圆弧与直线相切,有以下程序段:
sub test()
        Dim cp1(1), cp2(1), cp3(1) As Double
        Dim ang1 As Double, ang2 As Double, ang As Double
        Dim cp(5) As Double
       
        cp1(0) = pnts1(0): cp1(1) = pnts1(1)
        cp2(0) = pnts(0): cp2(1) = pnts(1)
        cp3(0) = mc(0) + d / 2 + m + r: cp3(1) = mc(1) + r * (1 - Cos(r0))
       
        cp(0) = cp1(0): cp(1) = cp1(1)
        cp(2) = cp2(0): cp(3) = cp2(1)
        cp(4) = cp3(0): cp(5) = cp3(1)
       
        ang1 = ThisDrawing.Utility.AngleFromXAxis(cp1, cp2)
ang2 = ThisDrawing.Utility.AngleFromXAxis(cp2, cp3)
ang = ang2 - ang1
Dim pl As AcadLWPolyline
Set pl = ThisDrawing.ModelSpace.AddLightWeightPolyline(cp)
pl.SetBulge 1, Tan(ang / 2)
end sub
程序段中, mc(0)        、 d 、m 、r、 mc(1) 、r0、pnts1(0)、pnts1(1)
pnts(0)、pnts(1)值已给出。为何运行结果不是直线与圆弧相切,而仅是直线段?
请大家帮忙看看!!
回复

使用道具 举报

26

主题

589

帖子

10

银币

中流砥柱

Rank: 25

铜币
693
发表于 2004-6-22 21:39:00 | 显示全部楼层
凸度的概念有错吧,它是弓高与半弦长的比值。
回复

使用道具 举报

7

主题

12

帖子

1

银币

初来乍到

Rank: 1

铜币
40
发表于 2004-6-23 10:22:00 | 显示全部楼层
伊凡老师,凸度没错阿!我检查过了,可就是结果不正确,到底怎末回事呀??
回复

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2004-6-23 10:28:00 | 显示全部楼层
你看看3楼的链接
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-15 21:18 , Processed in 0.374185 second(s), 60 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表