11
$\开始组$

我想在这上面加点边沿尼科马科斯三角

r=7;t=表[2^(n-k)3^k,{n,0,r},{k,0,n}];ColumnForm[t,居中]

有简单的方法吗?

使用Wizard先生的方法

triangleForm[t:{列表..}/;深度@t == 3] :=显示[图形[{红色,(行/@Join[#,Riffle@@@Partition[#,2,1]])&@表[{(1-i+2j-r)/2,i-r-1},{i,0,r},},映射索引的[Text[Panel[#,FrameMargins->0],{#2-#/2,-#}&@@#2]&,t,{2}]}],文本样式->字体大小->18]三角形状[t]

尼科马科斯三角

https://math.stackexchange.com/questions/150259/question-about-the-collatz-conjustructure-nicomachuss-triangle等

$\端组$

3个答案

重置为默认值
9
$\开始组$

像这样吗?

triangleForm[t:{列表..}/;深度@t == 3] :=显示[图形[{映射索引[文本[#,{#2-#/2,-#}&@@#2]&,t,{2}],红色,行[{{1/2,-1},{1-#/2,-#},}#/2,-1}}]&@Length[t]}],文本样式->字体大小->18]三角形状[t]

Mathematica图形

或者更像:

triangleForm[t:{列表..}/;深度@t == 3] :=显示[图形[{映射索引[文本[#,{#2-#/2,-#}&@@#2]&,t,{2}],红色,行[{{1/2,0},{-#/2,-#-1/2},}1+#/2,-1/2},{1/2,0}}]&@Length[t]}],文本样式->字体大小->18]三角形状[t]

Mathematica图形


使用自动图像大小:

r=9;t=表[2^(n-k)3^k,{n,0,r},{k,0,n}];triangleForm[t:{列表..}/;深度@t == 3] :=显示[图形[{映射索引[文本[#,{#2-#/2,-#}&@@#2]&,t,{2}],红色,行[{{1/2,0},{-#/2,-#-1/2},}1+#/2,-1/2},{1/2,0}}]&@Length[t]}],文本样式->字体大小->16,图像大小->(长度@t + 1) * 第一个@光栅化[样式[t[[-1,-1]],16],“光栅尺寸”]]三角形状[t]

Mathematica图形


以下评论之后的另一个变体:

r=8;t=表[2^(n-k)3^k,{n,0,r},{k,0,n}];triangleForm[t:{列表..}/;深度@t == 3] :=显示[图形[{红色,(行/@Join[#,Riffle@@@Partition[#,2,1]])&@表[{(1-i+2j-r)/2,i-r-1},{i,0,r},},映射索引的[Text[Panel[#,FrameMargins->0],{#2-#/2,-#}&@@#2]&,t,{2}]}],文本样式->字体大小->18]三角形状[t]

Mathematica图形

$\端组$
9
  • $\开始组$ @贝利萨留斯,你是不是把图形做得足够大,可以容纳所有的数字? $\端组$ 评论 2012年5月27日1:49
  • $\开始组$ 你能预先计算图像大小吗D类 $\端组$ 评论 2012年5月27日1:52
  • $\开始组$ @我想是的;让我试试 $\端组$ 评论 2012年5月27日1:52
  • $\开始组$ @先生。向导,与第一个一样,但也显示了所有内部三角形。 $\端组$ 评论 2012年5月27日2:09
  • $\开始组$ @弗雷德,好的,给我一分钟 $\端组$ 评论 2012年5月27日2:18
8
$\开始组$

下面是另一种方法,可以使用图表:

元素[n,k_]:=2^(n-k)3^k块[{e,r},r=7;顶点=扁平[表[e[n,k],{n,0,r},{k,0,n}]];edges=展平[{表[e[n,k]\UndirectedEdge]e[n+1,k],{n,0,r-1},{k,0,n}],表[e[n,k]\[UndirectedEdge]e[n+1,k+1],{n,0,r-1},{k,0,n}],表[e[n,k]\[UndirectedEdge]e[n、k+1],{n,1,r},{k,0,n-1}]}];coords=压扁[表[{-n/2+k,r-n},{n,0,r},[k,0,n}],1];图形[顶点,边,顶点坐标->坐标,EdgeStyle->指令[厚,红],VertexShapeFunction->({黑色,插图[框架[样式[#2/.e->elem,12,FontFamily->“Helvetica”],背景->白色,圆角半径->3],#1]}&)]]

Mathematica图形

$\端组$
1
  • $\开始组$ 这就是我放弃并提出问题之前想做的。我已将其添加到我的.nb $\端组$ 评论 2012年5月27日10:30
$\开始组$

对于$r\in\{2\ldots 10\}$,您可以使用图形数据[{“三角网格”,r}]要获得具有所需结构的图形:

图形数据[“TriangularG*”]

{{“三角网格”,2},{“三角形网格”,3},}“三角形栅格”,4} ,{“三角形网格”,5},{”三角形网格“,6},}”三角网格“,7} ,{“三角网格”,8},{”三角网格“,9} ,{“三角形网格”,10}}

例如,

图形数据[{“三角网格”,4}]

在此处输入图像描述

我们可以使用它生成一个函数来添加标签和其他选项:

全部清除[tF,标记F,tGG]tF=扁平@桌子[2^(n-k)3^k,{n,0,#},{k,0,n}]&;labelingF=关联线程[Range@Length@#,#]&@tF[#]&;tGG=模块[{tg=图形数据[{“三角网格”,#}],lbl=标签F[#]},设置属性[tg,{VertexShapeFunction->(文本[Framed[Style[lbl@#2,Black],RoundingRadius->5,FrameStyle->Gray,Background->White],#]&),##2}]]&;

示例:

行[tGG[#,EdgeStyle->红色,ImageSize->300]&&@{3,5,7},间隔符[10]]

在此处输入图像描述

$\端组$

你的答案

单击“发布您的答案”,表示您同意我们的服务条款并确认您已阅读我们的隐私政策.

不是你想要的答案吗?浏览标记的其他问题问你自己的问题.