请问大佬怎么用mathematica画出跳棋棋盘?
mathematica吧
全部回复
仅看楼主
level 4
uniae026 楼主
请问大佬
怎么用mathematica画出跳棋棋盘?
2020年06月04日 09点06分 1
level 7
用Graphics 和Points 把所有的点画出来[滑稽]
2020年06月04日 21点06分 2
level 1
贺祖国班上的前来围观[滑稽]
2020年06月05日 03点06分 3
真实
2020年06月10日 02点06分
都是数学实验班的同学吗。。。。
2020年06月12日 02点06分
level 1
这一届的北邮的数学实验估计都有这道题
2020年06月05日 16点06分 4
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分
@FEBRA的猫 行啊,那就给个思路。
2020年06月06日 07点06分
level 7
图像是这个样子的
2020年06月06日 02点06分 8
@FEBRA的猫 先学会用Graphics画点,然后把楼下吧主的那张图画出来,再然后怎么做就应该有自己的思路了,我上面做的肯定不是最简单的。
2020年06月06日 07点06分
@FEBRA的猫 点的话是Point, 线的话是Line,用Graphics画图的时候有专门的格式,格式里有专门的语法来上色。
2020年06月06日 09点06分
想问下,因为diapts这个表,他是乱序的,怎么按顺序遍历每个点,然后连线呢
2020年06月07日 07点06分
主要是遍历顺序的问题,怎么让diapts这个表从高到第排序?主要是联系需要考虑顺序,只有相邻的两个点才需要连线。
2020年06月07日 07点06分
吧务
level 15
思路:
2020年06月06日 07点06分 9
妙啊
2020年06月10日 12点06分
吧务
level 15
棋盘又不一定要有线,有坑就行啊[滑稽]
2020年06月06日 08点06分 10
level 1
楼主画出来没[滑稽]
2020年06月07日 02点06分 12
我贺我的祖国,一刻也不能分割[滑稽]
2020年06月07日 02点06分
@GundamOOQ135 能问下是怎么上色的吗
2020年06月07日 07点06分
@柏慕潇湘- 我用的regionplot 区域上色
2020年06月07日 11点06分
怎么连线啊,我一连线就把所有点连城函数了。。
2020年06月08日 12点06分
level 1
吐了,灰色的实在不想上色了,还有白色棋坑似乎要用白点Point覆盖再用白色Circle,还有简单的办法吗
2020年06月07日 12点06分 13
可以用Disk[],再用Graphics中的EdgeForm指定边缘样式
2020年06月10日 00点06分
你这个771有点顶啊兄弟
2020年06月10日 12点06分
@贴吧用户_037JS5A 我还有个3941呢[小乖]
2020年06月11日 04点06分
@韵二yuner 已经提交了,之前没找到边缘格式怎么设置
2020年06月11日 08点06分
level 1
大家的圆圈是按点处理的还是按圆处理的啊,按圆画了半天感觉有点麻烦。。有什么建议吗
2020年06月08日 02点06分 14
按点处理吧,贺老师的图也没那么精致
2020年06月08日 13点06分
level 4
uniae026 楼主
都是hzg班的嘛
2020年06月10日 12点06分 17
吧务
level 9
方法很多,这是一种实现,12.1可用,不保证之前的版本能用,改起来也不难
2020年06月11日 10点06分 18
大佬[真棒]
2020年06月14日 12点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
吧务
level 9
用复数来做也比较方便。下面的做法会有重复的点线,就不再优化了
2020年08月31日 03点08分 20
1 2 尾页