乐筑天下

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

向量

[复制链接]

2

主题

8

帖子

1

银币

初来乍到

Rank: 1

铜币
16
发表于 2011-5-8 10:19:00 | 显示全部楼层 |阅读模式
//判断三点的方向ture表示顺时针,false表示逆时针
        public bool  isClockWise(Point3d spt, Point3d ptTo, Point3d ept)
        {
            Vector3d spt_ptTo = new Vector3d(spt.X - ptTo.X, spt.Y - ptTo.Y, spt.Z - ptTo.Z);
            Vector3d spt_ept = new Vector3d(spt.X - ept.X, spt.Y - ept.Y, spt.Z - ept.Z);
            Vector3d vec= spt_ptTo.CrossProduct(spt_ept);
            double angle = vec.GetAngleTo(Vector3d.ZAxis);
            if (angle != 0) return true;//顺时针
            else return false; //逆时针        
        }
这个函数在画圆弧时十分有用,这也是我今天刚刚学会的,不足之处还请各位多多指教
回复

使用道具 举报

32

主题

651

帖子

8

银币

中流砥柱

Rank: 25

铜币
779
发表于 2011-5-8 10:56:00 | 显示全部楼层
1,是否测试过三点同线的情况?
2,是否测试过Z坐标不为零或说Z坐标不相等的情况?
回复

使用道具 举报

2

主题

8

帖子

1

银币

初来乍到

Rank: 1

铜币
16
发表于 2011-5-8 11:05:00 | 显示全部楼层
谢谢指点
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-6-29 13:06 , Processed in 3.451548 second(s), 70 queries .

© 2020-2025 乐筑天下

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