明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3172|回复: 14

已知 圆弧的半径 起始角 终止角 圆心坐标 求凸度(正负)

[复制链接]
发表于 2014-5-21 14:22 | 显示全部楼层
凸度值等于弦高除与弦长的一半,逆时针为正值,顺时针为负值
发表于 2014-5-21 14:34 | 显示全部楼层
/// <summary>
    /// 判断1,2,3三个点的依次走向为顺时针还是逆时针走向
    /// 顺时针返回-1,逆时针返回1,点重合或在一条直线上返回0
    /// </summary>
    /// <param name="P1">第一个点</param>
    /// <param name="P2">第二个点</param>
    /// <param name="P3">第三个点</param>
    /// <returns>顺时针返回-1,逆时针返回1,点重合或在一条直线上返回0</returns>
    static public int Clockwise(Point3d P1, Point3d P2, Point3d P3)
    {
      double A = P3.Y - P1.Y;
      double B = P1.X - P3.X;
      double C = -1.0 * A * P1.X - B * P1.Y;
      double d1 = -A * P2.X - B * P2.Y;
      if (d1 == C)
        return 0;
      else if (d1 > C)
        return -1;
      else
        return 1;
    }
发表于 2014-5-21 15:39 | 显示全部楼层
还有圆心呀,两点你怎么能判断时钟走向?
发表于 2014-5-21 16:18 | 显示全部楼层
P1是起点的话,那么P3是圆心,P2是起点的话,P1是圆心
发表于 2014-5-21 16:19 | 显示全部楼层
自己测试看看更清楚
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-3 16:45 , Processed in 0.567005 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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