level 4
请问大佬
怎么用mathematica画出跳棋棋盘?
2020年06月04日 09点06分
1
level 7
(*Points of a diamond*)
rt3 = Sqrt[3] ;
tripts = {{0, 0}, {1, 0}, {2, 0}, {0.5, rt3/2}, {3/2, rt3/2}, {0,
rt3}, {1, rt3}, {1/2, 3/2*rt3}, {0, 2 rt3}};
tripts2 = tripts /. {a_, b_} :> {-a, b};
tripts3 = tripts /. {a_, b_} :> {-a, -b};
tripts4 = tripts /. {a_, b_} :> {a, -b};
diapts = Plus[{0, 2 rt3}, #] & /@
DeleteDuplicates[Join[tripts, tripts2, tripts3, tripts4]];
(*test: g1 = Graphics[{PointSize[0.05], Point[diapts]},Axes\[Rule] \
True]*)
2020年06月06日 02点06分
6
画的方法是很多的,不过怎么画最简倒是个有意思的问题。鉴于这是个作业题,下个月再想。
2020年06月06日 06点06分
level 1
大家的圆圈是按点处理的还是按圆处理的啊,按圆画了半天感觉有点麻烦。。有什么建议吗
2020年06月08日 02点06分
14
按点处理吧,贺老师的图也没那么精致
2020年06月08日 13点06分
吧务
level 15
这会儿作业应该都交了,那我也贴一个。重点:点的列表压平前其实是暗含了点与点的位置关系的。个人认为这也是这个题目的意图所在——考察学生对Mathematica的列表操作的熟稔程度和对列表结构的理解程度。
pts = Table[
RotationTransform[k Pi/3][{1, 0} i + {1, Sqrt[3]}/2 j], {k, 6}, {i,
0, 4}, {j, 0, 4}];
Graphics@Point@Flatten[pts, 2]
{{Line /@ #,
Line /@ Transpose@#}, {Line@Transpose@{
#[[1]], #
[[All, 1]]},
Line@Transpose@{
#[[-1]], #
[[All, -1]]}}} & /@ pts // Graphics
顺便楼上好像有个想硬靠判断点距来连线的……对于这种小点集也没什么不可以啦唉:
ptsnew = Flatten[pts, 2] // DeleteDuplicates;
Table[Line@{ele, #} & /@ Nearest[DeleteCases[ptsnew, ele], ele], {ele,
ptsnew}] // Graphics
2020年07月04日 04点07分
19