乐筑天下

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

获取一条线的角度

[复制链接]

84

主题

543

帖子

12

银币

中流砥柱

Rank: 25

铜币
886
发表于 2010-12-18 14:25:00 | 显示全部楼层 |阅读模式
请老师指点,如何获取一条线的角度,以下是画一条斜线的代码,请帮助增加获取这条斜线的语句
回复

使用道具 举报

84

主题

543

帖子

12

银币

中流砥柱

Rank: 25

铜币
886
发表于 2010-12-18 14:25:00 | 显示全部楼层
  1. public void testLine()
  2.         {
  3.             Database db = HostApplicationServices.WorkingDatabase;
  4.             using (Transaction ta = db.TransactionManager.StartTransaction())
  5.             {
  6.                 BlockTable bt = (BlockTable)ta.GetObject(db.BlockTableId, OpenMode.ForRead);
  7.                 BlockTableRecord btr = (BlockTableRecord)ta.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite);
  8.                 Line ent = new Line(new Point3d(0, 0, 0), new Point3d(20, 10, 0));
  9.                 //请老师指点,如何获取这条线的角度
  10.                 btr.AppendEntity(ent);
  11.                 ta.AddNewlyCreatedDBObject(ent, true);
  12.                 ta.Commit();
  13.             }
  14.         }
回复

使用道具 举报

84

主题

543

帖子

12

银币

中流砥柱

Rank: 25

铜币
886
发表于 2010-12-18 15:50:00 | 显示全部楼层

另请教老师在C#中如何写LISP中以下角度判断与转换代码
(setq angle(cond((and(> angle 90)( angle 270)(- angle 360))
     ((= angle -90)(90))
     (t angle)
)
回复

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2010-12-18 21:56:00 | 显示全部楼层
if...else if...else if...else...
回复

使用道具 举报

84

主题

543

帖子

12

银币

中流砥柱

Rank: 25

铜币
886
发表于 2010-12-19 18:04:00 | 显示全部楼层
谢谢,我去试试...
回复

使用道具 举报

84

主题

543

帖子

12

银币

中流砥柱

Rank: 25

铜币
886
发表于 2010-12-19 23:13:00 | 显示全部楼层

请老师帮我看一下,我按以下方法写,没有反映,请帮我看看我错在那里...
复制代码
回复

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2010-12-19 23:31:00 | 显示全部楼层
基本语法找本书自学,或者查msdn
另外把链接的帖子看完看仔细
回复

使用道具 举报

84

主题

543

帖子

12

银币

中流砥柱

Rank: 25

铜币
886
发表于 2010-12-19 23:50:00 | 显示全部楼层
我测试已获取一条线的角度(angle)成功,我现主要是卡在如何判断角度(angle)... ...
回复

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2010-12-20 12:35:00 | 显示全部楼层

要判断角度其实很简单
1/
确保ang1和ang2在【0,2*pi】
2/
ang3 = ang2 < Math.PI ? ang2 + Math.PI : ang2 - Math.PI;
if(ang1 == ang2 || ang1 == ang3)
{
}
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-15 11:47 , Processed in 0.429688 second(s), 70 queries .

© 2020-2025 乐筑天下

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