沐风论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 35787|回复: 11
打印 上一主题 下一主题

[原创教程] 用EXCEL画特殊函数图像辅助作图

  [复制链接]
跳转到指定楼层
楼主
发表于 2014-5-22 22:13:23 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 wgl721219 于 2014-5-23 12:41 编辑

    在CAD中可以直接画出直线、圆、椭圆、正多边形、样条曲线(感觉样条曲线太随意了,没有一定的功夫画不好)、圆弧、椭圆弧等,高手们还可以用三维画出圆锥曲线(抛物线、双曲线、圆、椭圆都是圆锥曲线),但是让你画一条正弦函数曲线、三次函数曲线,可能就无能为力了吧?
    有时候在画图时可能需要解方程,其实大部分根本就不需要解方程,只要画出函数图像就可以解决了,但CAD的局限你画不出这个函数图像。其实我们可以借助EXCEL来帮忙,并且非常简单。下面以我以前的一个贴子为例,要求画出下图。

现在设未知数X和Y,根据勾股定理和三角形的相似性可以列出方程组:



化简一下第二个方程:

如果知道这个方程组的解,就可以画出图形了,我也试着解这个方程组,可能是水平有限,反正是没有解出来。如果我们能画出这两个函数的图像也同样可以画出那个三角形。我们来分析一下这个方程组,第一个是圆的方程,圆的半径是10,这个可以直接用CAD画出来;第二个你还可以继续转化为 ,这是一个反比例函数,用CAD是不能直接画出来的(也可能是我不会画)。这个函数图像可以用EXCEL帮忙来画。


画法思路是这样的,将函数图像分隔成很多小段,每一小段用直线表示,只要分隔的足够小,这些小段直线连起来就是我们要的函数图像了。我们只取需要的部分来画,具体这个方程组里由于圆的方程的X和Y的取值班范围都是-10<=X/Y<=10,所以反比例函数的X值班也取-10~10。

打开EXCEL,输入公式:在A2单元格输入-10,A3单元格输入公式“=A2+0.01”;在B2单元格输入公式“=10*A2/(10-A2)”,拖至B3单元格;在C3单元格输入公式“=B3-B2”;在D3单元格输入“="@0.01,"&C3”。这里简单介绍一下D3单元格里的公式,D3计算结果是一个字符串,形如“@数字,数字”,这正是我们在CAD里画直线、多段线等输入的相对位置的格式。
拖拉公式填充:选中A3:D3单元格区域,向下拖拉填充柄(就是EXCEL单元格右下角那个小黑色方块)。拖拉时注意A列和B列的值,超过10以后就可以,不需要太多。
复制选中D列所有数据,按下^+C,复制到剪贴板里。
EXCEL截图:

画图:切换到CAD程序,用多段线命令画图,其实用直线也可以,但用直线画出来是很多小段直线,太多了,不方便操作,用多段线就是一个整体,方便操作。输入PL命令或者点多段线按钮,在任意点点下第一个点,这时出现下图所示:

输入点切换到红色箭头所指,就是在那里点一下鼠标左键。这时候系统的剪贴板里还有刚才复制的EXCEL数据,按下^+V键(即粘贴快捷键)CAD自动画出了函数图像,由于数据只取了一部分,所以是函数图像的一部分。

然后就是纯CAD画图了。先看图

图中红色曲线就是刚才画的函数图像的一部分。根据圆的方程,半径为10的圆的的圆心应该在坐标(0,0)点,而曲线的起点是(-10,-5)点(就是EXCEL单元格A2、B2中的数值。所以可以用FROM命令定位圆的圆心位置,输入C命令(画圆命令)后,再输入FROM,捕捉点选函数图像的最左下角的端点,输入@10,5,输入半径10即可画出,函数图像与圆有两个交点,两个交点都可以(2014年5月23日注,这个例子可以其它例子不一定都可以),只不过一个是X=A,Y=B另一个是X=B,Y=A。根据反比例函数知道当X=0时,Y=0,即正好是圆的圆心,在函数图像与圆的上面那个交点向下垂直画条直线,就可以将函数图像删除了。(注意:在函数图像上选点时一定要放大图像再捕捉,因为小线段太多容易捕捉错误)
最后画出图像如下图所示:


经过无限放大直角边为10的那条边的或端点(因为这个点是画出两条长度为10的垂直水平线段后,延长长度为10的那条斜线段而来的,可能存在误差),发现确实存在误差,误差为0.0000004,这应该能满足我们的要求吧?




再加上EXCEL文件和作的CAD图(用2012版画的) EXCEL画图.rar (147.55 KB, 下载次数: 51)

评分

参与人数 2学习币 +15 稿费 +23 收起 理由
wamfcadw + 15 原创教程,好文章,适用技术!
mfcad + 23 原创教程,奖励稿费,满50元,可以申请提现.

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 转播转播 分享分享 分享淘帖 支持支持1 反对反对
回复

使用道具 举报

沙发
发表于 2014-5-23 08:13:30 | 只看该作者
好厉害 学习了
回复 支持 反对

使用道具 举报

板凳
发表于 2014-5-23 10:33:39 | 只看该作者
好吧,就是以个没听懂。悲剧
回复 支持 反对

使用道具 举报

地板
发表于 2014-5-23 10:58:11 | 只看该作者
厉害,学习了。
回复 支持 反对

使用道具 举报

5#
发表于 2014-5-23 11:33:26 | 只看该作者
请教一下D3里面的公式是怎么输的?我输的时候老是输不对,谢谢啦
回复 支持 反对

使用道具 举报

6#
 楼主| 发表于 2014-5-23 12:32:01 | 只看该作者
Bller_yun 发表于 2014-5-23 11:33
请教一下D3里面的公式是怎么输的?我输的时候老是输不对,谢谢啦

="@0.01,"&C3”。红色部分是输入的部分,注意引号、豆号都在英文状态下输入。输入C3的时候可以直接点一下C3单元格。
回复 支持 反对

使用道具 举报

7#
发表于 2014-5-23 14:38:22 | 只看该作者
wgl721219 发表于 2014-5-23 12:32
“="@0.01,"&C3”。红色部分是输入的部分,注意引号、豆号都在英文状态下输入。输入C3的时候可以直接点一 ...

现在输对了,谢谢
回复 支持 反对

使用道具 举报

8#
发表于 2014-5-23 14:57:59 | 只看该作者
是不是间隔取得太小了?要1602个点。。可不可以把间隔改大一点?
回复 支持 反对

使用道具 举报

9#
 楼主| 发表于 2014-5-23 19:24:30 | 只看该作者
理论上越小越精确,你可改大点试试。
回复 支持 反对

使用道具 举报

10#
发表于 2014-5-26 15:43:01 | 只看该作者
wgl721219 发表于 2014-5-23 19:24
理论上越小越精确,你可改大点试试。

回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|沐风论坛 ( 沪ICP备09092249号  

GMT+8, 2024-4-20 07:32 , Processed in 0.590660 second(s), 25 queries .

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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