ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: 493861364

[求助] 3圆相切的问题

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-7-21 14:19 | 显示全部楼层
dengxingchang 发表于 2021-7-21 11:37
圆很简单,
1. 首先知道圆半径 r ,那么圆的公式是 x = cos * r,y = sin * r ;
2. 先算圆心坐标 (a,b ...

画了一个外切的,有空再画一个内切的试试
微信截图_20210721141634.png

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2021-7-21 14:20 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 dengxingchang 于 2021-7-21 14:30 编辑
493861364 发表于 2021-7-21 14:03
关键就是计算出x、y的偏移量
其他的都是常规操作了

偏移量很简单。我全忘了数学的百度下就能做出来了

已知:三个圆面积,可知 三个半径,R1、R2、R3
确定输入参数:第一个小圆和最大圆圆心连线的角度,假设是 m

1. 以最大圆的圆心为原点(0,0),那么
    第一个小圆的圆心为 (cos(radians(90-m))*(R1+R2),sin(radians(90-m))*(R1+R2)。
2. 第二个小圆的圆心需要知道夹角 (假设是n)。用余弦定理 cos n = ((R1+R2)^2 +(R1+R3)^2-(R2+R3)^2)/(2*(R1+R2)*(R2+R3)),用函数 ACOS 可以反求其角度 n
    那第二个小圆的圆心坐标是(cos(radians(90-m-n))*(R1+R3),sin(radians(90-n-m))*(R1+R3))

上面是外切的计算。

下面是内切的计算
内切的计算就 变成了 R1-R2、R1-R3、R2+R3。同时考虑出现无法内切的情况,增加判断
(R1-R2)+(R1-R3) < R2+R3 时提示不能内切,需要用户改小小圆的面积值,

再构建360个散点,连起来就是相切圆了
内切圆的图,由于都在大圆以内,所以可以增加一个数字为1的饼图,保证拖动绘图区时圆形不变形。



评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2021-7-21 15:18 | 显示全部楼层
本帖最后由 wb_1027 于 2021-7-21 15:34 编辑

1626851688(1).png
1626851215(1).png

图一是EXCEL 模拟的结果
图二是CAD模拟的结果,经测量结果一致


TA的精华主题

TA的得分主题

发表于 2021-7-21 15:33 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
图表练习-三圆相切.zip (243.37 KB, 下载次数: 10) 1626852637(1).png
只要R2+R3<=R1即可

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-7-21 17:26 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2021-7-21 18:47 | 显示全部楼层
本帖最后由 dengxingchang 于 2021-7-21 20:06 编辑
493861364 发表于 2021-7-21 17:26
三角函数对于解决圆形图表很有用处

气泡相切,这个牛!
分享下怎么做吧
tusimpleBI有个叠加大小的功能,倒是可以简单做出来

TA的精华主题

TA的得分主题

发表于 2021-7-21 21:51 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
做的时候发现一个小BUG,如果圆3的圆心出现在右下角,也就是圆1的位置,三角形顶角的钝角,那么圆3圆心的Y值应该是负数。公式没考虑到这一点。

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-7-21 21:53 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
dengxingchang 发表于 2021-7-21 18:47
气泡相切,这个牛!
分享下怎么做吧
tusimpleBI有个叠加大小的功能,倒是可以简单做出来

我也在关注刘万祥老师的动态,tusimpleBI的一键出图很厉害
作图方法如图所示,邓老师帮看看



微信截图_20210721214843.png

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-7-21 22:51 | 显示全部楼层
493861364 发表于 2021-7-21 21:53
我也在关注刘万祥老师的动态,tusimpleBI的一键出图很厉害
作图方法如图所示,邓老师帮看看

这个是角度的计算过程,根据楼上老师的教程做的,视觉上气泡相切有点误差,可以手工自己调整一下,不太精确
微信截图_20210721224607.png

TA的精华主题

TA的得分主题

发表于 2021-7-22 09:34 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-20 06:36 , Processed in 0.046085 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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