首页 > 代码库 > 数学图形之牟合方盖
数学图形之牟合方盖
维基上的解释是:牟合方盖是一种几何体,是两个等半径圆柱躺在平面上垂直相交的公共部分,因为像是两个方形的盖子合在一起,所以被称作“牟合方盖”。
说得有点绕,简单说:牟合方盖是两个半径相等并且轴心互相垂直的圆柱体相交而成的三维图形。个人觉得它是一种即方又圆的图形.
相关软件参见:数学图形可视化工具,使用自己定义语法的脚本代码生成数学图形.该软件开源免费.
(1)牟合方盖
vertices = D1:100 D2:100u = from 0 to (PI*2) D1v = from (-PI/2) to (PI/2) D2m = cos(u)n = sin(u)y = sin(v)r = cos(v)*SQRT2b = abs(m) < abs(n)x = if(b, m*r, sign(m)*r/SQRT2)z = if(b, sign(n)*r/SQRT2, n*r)a = 10x = x*ay = y*az = z*a
(2)三圆柱相交
牟合方盖是两个等半径圆柱垂直相交生成的,那么如果再用一个垂直的圆柱与牟合方盖相交,会得到什么图形呢?
下面为三个半径相等并且轴心互相垂直的圆柱体相交而成的三维图形.
vertices = D1:100 D2:100u = from 0 to (PI*2) D1v = from (-PI/2) to (PI/2) D2m = cos(u)n = sin(u)y = sin(v)r = cos(v)*SQRT2b = abs(m) < abs(n)x = if(b, m*r, sign(m)*r/SQRT2)z = if(b, sign(n)*r/SQRT2, n*r)e = sqrt(x*x + z*z)x = if(e > 1, x/e, x)z = if(e > 1, z/e, z)a = 10x = x*ay = y*az = z*a
(3)变异的牟合方盖
这其实是我写脚本代码时,一个变量写错了生成的图形.
vertices = D1:100 D2:100u = from 0 to (PI*2) D1v = from (-PI/2) to (PI/2) D2m = cos(u)n = sin(u)y = sin(v)r = cos(v)b = abs(m) > abs(n)x = if(b, m*r, sign(m)*r/SQRT2)z = if(b, sign(n)*r/SQRT2, n*r)a = 10x = x*ay = y*az = z*a
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。