正剧开始:
星历2016年02月11日 14:23:10, 银河系厄尔斯星球中华帝国江南行省。
[工程师阿伟]正在和[机器小伟]一起继续观察物体。
对于摆立方体,小伟手头已经有了现成的工具:
<span style="font-size:18px;">function myDraw() { var config = new PlotConfiguration(); config.init(); config.setPreference(); config.setSector(1,1,1,1); config.axis3D(0, 0, 0, 180); //立方体,按从左向右(x递增),从下向上(y递增),从后向前(z递增)的顺序压入 var cubic = new Array(); cubic.push([0, 0, 0]); //三维图和三视图 var r = 50; var style = 'red'; for (var i = 0; i < cubic.length; i++) { shape.drawCubic(cubic[i][0]*r, -cubic[i][1]*r, cubic[i][2]*r, r, style); } var height = 400; r = r/2; plot.setTransform(1, 0, 0, 1, 0, 0); plot.fillText('左视图', 20, 20, 100); plot.fillText('主视图', 20, 20+1*height/3, 100); plot.fillText('俯视图', 20, 20+2*height/3, 100); plot.setFillStyle(style) .setStrokeStyle('white'); //左视图 config.setSector(3,4,1,1); for (var i = 0; i < cubic.length; i++) { //y, z两坐标,z坐标变为x坐标 shape.fillRect(cubic[i][2]*r, -cubic[i][1]*r, r, r); shape.strokeRect(cubic[i][2]*r, -cubic[i][1]*r, r, r); } //主视图 config.setSector(3,4,2,1); for (var i = 0; i < cubic.length; i++) { //x, y两坐标 shape.fillRect(cubic[i][0]*r, -cubic[i][1]*r, r, r); shape.strokeRect(cubic[i][0]*r, -cubic[i][1]*r, r, r); } //俯视图 config.setSector(3,4,3,1); for (var i = 0; i < cubic.length; i++) { //x, z两坐标,z坐标变为y坐标 shape.fillRect(cubic[i][0]*r, cubic[i][2]*r, r, r); shape.strokeRect(cubic[i][0]*r, cubic[i][2]*r, r, r); } }</span>
<span style="font-size:18px;"> //立方体,按从左向右(x递增),从下向上(y递增),从后向前(z递增)的顺序压入 var cubic = new Array(); cubic.push([0, 0, 0]); cubic.push([0, 0, 1]); cubic.push([1, 0, 1]); cubic.push([2, 0, 1]);</span>
<span style="font-size:18px;">//立方体,按从左向右(x递增),从下向上(y递增),从后向前(z递增)的顺序压入 var cubic = new Array(); cubic.push([0, 0, 0]); cubic.push([3, 0, 0]); cubic.push([1, 0, 1]); cubic.push([2, 0, 1]); cubic.push([3, 0, 1]); cubic.push([1, 1, 1]);</span>
<span style="font-size:18px;">//立方体,按从左向右(x递增),从下向上(y递增),从后向前(z递增)的顺序压入 var cubic = new Array(); cubic.push([1, 0, 0]); cubic.push([0, 0, 1]); cubic.push([1, 0, 1]); cubic.push([2, 0, 1]); cubic.push([2, 1, 1]);</span>
这个题的第一问,并不能限定住摆法,至少有三种摆法,但是加上第二问的限定条件,就是唯一的摆法了。第三问,小伟并没有想到怎么样可以再加上
小正方体,所以认为不可能再加上。
<span style="font-size:18px;">//立方体,按从左向右(x递增),从下向上(y递增),从后向前(z递增)的顺序压入 var cubic = new Array(); cubic.push([1, 0, 0]); cubic.push([2, 0, 0]); cubic.push([1, 1, 0]); cubic.push([3, 0, 0]); cubic.push([0, 0, 1]);</span>
<span style="font-size:18px;">//立方体,按从左向右(x递增),从下向上(y递增),从后向前(z递增)的顺序压入 var cubic = new Array(); cubic.push([1, 0, 0]); cubic.push([2, 0, 0]); cubic.push([1, 1, 0]); cubic.push([1, 2, 0]); cubic.push([0, 0, 1]); cubic.push([1, 0, 1]); cubic.push([1, 1, 1]);</span>
本节到此结束,欲知后事如何,请看下回分解。