木子歌 发表于 2005-8-27 11:40:00

[求助]直线和曲线相切的问题

<P>编程怎么实现以下问题?</P>
<P>已知两个点,连接这两个点画一平滑曲线,然后画一段在曲线的末端点相切的线段,然后再画一条在直线的末端点相切的平滑曲线,这个曲线的末端点是已知的(固定有的),</P>
<P>可以简单地概括地说是,在两个点之间,先画一曲线,再画一线段,再画一曲线,相互之间是相切的,最好能画到距离最短。</P>

mccad 发表于 2005-8-27 17:59:00

搞不懂两个点形成的平滑曲线是怎样的。

木子歌 发表于 2005-8-28 07:50:00

哈,你真是厉害,我当初就没想那么清楚这个问题,只想着和直线相切就行了!这样画吧:曲线的起点处半径是r,然后r逐渐趋向去无穷大,就变成直线了,然后从线段的末端点开始,曲线的半径从无穷大逐渐趋向去r2

mccad 发表于 2005-8-28 08:36:00

给个图直观一点(我想这个图你也画不出来,呵呵)<BR>按照你的一楼的意思,曲线的距离最短。其实大家知道,两点距离最短就是直线。如果要求曲线的长度最短,则曲线要近似于直线。如果曲线需要与直线相切,那就曲线变成一直线和两头两段尽量小的圆弧,这样圆弧再与其它直线相切。

风之助 发表于 2005-8-28 14:55:00

<P>估计这位楼主是想画缓和曲线+直线+缓和曲线。这是公路上用的曲线形式。</P>
<P>那位仁兄学过相关专业,且是CAD高手,望赐教。</P>
<P>&nbsp;</P>

ntchjie 发表于 2005-8-28 15:42:00

<P>试算,根据公式分别计算缓和曲线上点的坐标和方位角,然后根据坐标计算直线的斜率,如果斜率和方位角在很小的误差范围内,如1E-3(精度根据你自己定)则可以认为改点就是你求的点。</P>

木子歌 发表于 2005-8-29 09:23:00

<P>哦,就是公路上用的那种曲线形式!&nbsp;&nbsp; </P>
<P>zen me huishi ? bu neng shu ru han zi le!</P>

ywy6688 发表于 2005-9-12 09:02:00

<P>如果是圆弧+直线+圆弧,非常EASY;</P>
<P>第一,画圆弧,</P>
<P>第二,点直线命令,回车,就从刚结束的圆弧处的切线方向画直线,第二点(结束直线)</P>
<P>第三,再点圆弧线命令,再回车,这时从上一直线结束点的切线处开始画圆弧</P>
<P>&nbsp;</P>
<P>&nbsp;</P>

月海临风 发表于 2005-9-14 13:04:00

<P>缓和曲线+直线+缓和曲线,我觉得你的画图思路有点问题,你看哪种线形组合回是这样?!</P>
<P>缓和曲线我画过,是算出坐标用spline或是pline拟合的</P>
<P>但是存在坐标旋转的问题,比较麻烦</P>
页: [1]
查看完整版本: [求助]直线和曲线相切的问题