dajio 发表于 2013-5-29 17:12:24

求助,求点到曲线的垂足

如何求某点到曲线的垂足?垂足有可能不在曲线上

请教一下,vlax-curve-getClosestPointTo 在搜索最近点时扩展曲线,对多段线对象为什么无效?
返回的是端点而不是延伸后的垂足


自贡黄明儒 发表于 2013-5-30 08:05:47

顾名思义是p 点到曲线最近的点,即是垂点.如果没有垂点,当然最近的点是曲线端点了

dajio 发表于 2013-7-11 19:24:43

本帖最后由 dajio 于 2013-7-11 19:29 编辑

已解决,感谢Gu_xl http://gyh060707.blog.sohu.com/176821263.html
求点到曲线的垂足(有可能不在曲线上)
    (setq pt0 (vlax-curve-getClosestPointTo objpline x nil)) ;_无扩展求最近点
    (setq par (vlax-curve-getparamatpoint objpline pt0)) ;_取得参数
    (setq drv (vlax-curve-getfirstderiv objpline par)) ;_取得切线向量
    (setq ptv (trans pt0 0 drv)) ;_将最近点按drv投影
    (setq ptv (trans (list (car ptv) (cadr ptv) (caddr (trans x 0 drv))) drv 0)) ;_求垂足

樱木花道2 发表于 2015-1-28 10:26:01

dajio 发表于 2013-7-11 19:24 static/image/common/back.gif
已解决,感谢Gu_xl http://gyh060707.blog.sohu.com/176821263.html
求点到曲线的垂足(有可能不在曲线上)
...

这个好像有bug,例如pl线的偏移点就找不到程序错误
页: [1]
查看完整版本: 求助,求点到曲线的垂足