五棱柱的制作过程如下:
1、先确定好五棱柱的边长,画出五棱柱的第一个面,如下图所示;
2、然后绘制出五棱柱的其他4个面,高度相等,边长相等,如下图所示;
3、然后绘制出五棱柱的顶面,一个五菱形,边长和面的边长一样;
4、接着绘制一个和顶面一样大小的尺寸,然后将其从纸上减下来;
5、进行常规的拼接,一个五棱柱就完成了。
3DMAX菱形模型的做法如下:
1、打开3DMAX,新建一个零件图形,如下图。
2、选择绘制单位为mm,点击确定,如下图。
3、点击插入,点击混合,选择伸出项,如下图。
4、定义草绘平面,如下图。
5、绘制中心线,在中心线的四个象取各绘制一条直线,并让直线两两相互垂直。
6、点击鼠标右键,选择切换剖面。
7、在中心位置绘制一个点,如下图。
8、点击右侧的“对钩”符号。
9、并输入截面深度,如下图。
10、完成菱形的半边。
11、再以相同的方式绘制菱形另一侧,就得到一个完整的菱形,如下图。
12、给菱形着色,如下图。
13、此时就成功的做出了菱形模型,如下图。
一、多边形类:polygonjs
var Point = function (x, y) {
thisx = x;
thisy = y;
};
var Polygon = function (centerX, centerY, radius, sides, startAngle, strokeStyle, fillStyle, filled) {
thisx = centerX;//外接圆心x坐标
thisy = centerY;
thisradius = radius;//外接圆半径
thissides = sides;//边数
thisstartAngle = startAngle;//开始角度
thisstrokeStyle = strokeStyle;
thisfillStyle = fillStyle;
thisfilled = filled;
};
Polygonprototype = {
getPoints: function () {//获取多边形所有顶点
var points = [],
angle = thisstartAngle || 0;
for (var i=0; i < thissides; ++i) {
pointspush(new Point(thisx + thisradius Mathsin(angle),
thisy - thisradius Mathcos(angle)));
angle += 2MathPI/thissides;
}
return points;
},
createPath: function (context) {//创建多边形路径
var points = thisgetPoints();
contextbeginPath();
contextmoveTo(points[0]x, points[0]y);
for (var i=1; i < thissides; ++i) {
contextlineTo(points[i]x, points[i]y);
}
contextclosePath();
},
stroke: function (context) {//对多边形描边
contextsave();
thiscreatePath(context);
contextstrokeStyle = thisstrokeStyle;
contextstroke();
contextrestore();
},
fill: function (context) {//填充
contextsave();
thiscreatePath(context);
contextfillStyle = thisfillStyle;
contextfill();
contextrestore();
},
move: function (x, y) {
thisx = x;
thisy = y;
},
};
二、HTML文件
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=gbk">
<title>拖动多边形</title>
<style>
body{
background: #eeeeee;
}
#dragDiv {
position: absolute;
left: 25px;
top: 50px;
}
#controls {
position: absolute;
left: 25px;
top: 25px;
}
#canvas {
background: #ffffff;
cursor: crosshair;
margin-left: 10px;
margin-top: 10px;
-webkit-box-shadow: 4px 4px 8px rgba(0,0,0,05);
-moz-box-shadow: 4px 4px 8px rgba(0,0,0,05);
box-shadow: 4px 4px 8px rgba(0,0,0,05);
}
</style>
</head><body>
<canvas id='canvas' width='850' height='500'>Canvas not supported</canvas>
<div id='controls'>
描边颜色: <select id='strokeStyleSelect'>
<option value='red' selected>red</option>
<option value='green'>green</option>
<option value='blue'>blue</option>
<option value='orange'>orange</option>
<option value='goldenrod'>goldenrod</option>
<option value='navy'>navy</option>
<option value='purple'>purple</option>
</select>
填充颜色: <select id='fillStyleSelect'>
<option value='rgba(255,0,0,05)'>semi-transparent red</option>
<option value='green'>green</option>
<option value='orange'>orange</option>
<option value='goldenrod' selected>goldenrod</option>
<option value='navy'>navy</option>
<option value='purple'>purple</option>
</select>
边数: <select id='sidesSelect'>
<option value=4 select>4</option>
<option value=6>6</option>
<option value=8>8</option>
<option value=10>10</option>
<option value=12>12</option>
<option value=20>20</option>
</select>
开始角度: <select id='startAngleSelect'>
<option value=0 select>0</option>
<option value=225>225</option>
<option value=45>45</option>
<option value=675>675</option>
<option value=90>90</option>
</select>
是否填充 <input id='fillCheckbox' type='checkbox' checked/>
<input id='eraseAllButton' type='button' value='清除所有'/>
</div>
<div id='dragDiv'>
编辑: <input type='checkbox' id='editCheckbox'/>
</div>
<script src = 'polygonjs'></script>
<script src = 'examplejs'></script>
</body></html>
三、JS文件 examplejs
var canvas = documentgetElementById('canvas'),
context = canvasgetContext('2d'),
//清除按钮
eraseAllButton = documentgetElementById('eraseAllButton'),
//描边颜色
strokeStyleSelect = documentgetElementById('strokeStyleSelect'),
//画多边形的开始角度
startAngleSelect = documentgetElementById('startAngleSelect'),
//填充颜色
fillStyleSelect = documentgetElementById('fillStyleSelect'),
//不否填充
fillCheckbox = documentgetElementById('fillCheckbox'),
//进入编辑
editCheckbox = documentgetElementById('editCheckbox'),
//边数
sidesSelect = documentgetElementById('sidesSelect'),
//canvas位图数据
drawingSurfaceImageData,
//记录鼠标按下的位置
mousedown = {},
//橡皮筋矩形框
rubberbandRect = {},
dragging = false,//是否在拖动状态
draggingOffsetX,
draggingOffsetY,
sides = 8,
startAngle = 0,
guidewires = true,
editing = false,
//保存已绘制的多边形
polygons = [];
// Functions
//画网络线
function drawGrid(color, stepx, stepy) {
contextsave()
contextshadowColor = undefined;
contextshadowBlur = 0;
contextshadowOffsetX = 0;
contextshadowOffsetY = 0;
contextstrokeStyle = color;
contextfillStyle = '#ffffff';
contextlineWidth = 05;
contextfillRect(0, 0, contextcanvaswidth, contextcanvasheight);
contextbeginPath();
for (var i = stepx + 05; i < contextcanvaswidth; i += stepx) {
contextmoveTo(i, 0);
contextlineTo(i, contextcanvasheight);
}
contextstroke();
contextbeginPath();
for (var i = stepy + 05; i < contextcanvasheight; i += stepy) {
contextmoveTo(0, i);
contextlineTo(contextcanvaswidth, i);
}
contextstroke();
contextrestore();
}
//窗口坐标转canvas坐标
function windowToCanvas(x, y) {
var bbox = canvasgetBoundingClientRect();
return { x: x - bboxleft (canvaswidth / bboxwidth),
y: y - bboxtop (canvasheight / bboxheight)
};
}
// 保存或恢复已绘制的画面
function saveDrawingSurface() {
drawingSurfaceImageData = contextgetImageData(0, 0,canvaswidth,canvasheight);
}
function restoreDrawingSurface() {
contextputImageData(drawingSurfaceImageData, 0, 0);
}
// 画多边形
function drawPolygon(polygon) {
contextbeginPath();
polygoncreatePath(context);
polygonstroke(context);
if (fillCheckboxchecked) {
polygonfill(context);
}
}
// 更新橡皮筋矩形框
function updateRubberbandRectangle(loc) {
rubberbandRectwidth = Mathabs(locx - mousedownx);
rubberbandRectheight = Mathabs(locy - mousedowny);
if (locx > mousedownx) rubberbandRectleft = mousedownx;
else rubberbandRectleft = locx;
if (locy > mousedowny) rubberbandRecttop = mousedowny;
else rubberbandRecttop = locy;
}
//以鼠标按下点为圆心,橡皮筋框宽为半径创建多边形
function drawRubberbandShape(loc, sides, startAngle) {
var polygon = new Polygon(mousedownx, mousedowny,
rubberbandRectwidth,
parseInt(sidesSelectvalue),
(MathPI / 180) parseInt(startAngleSelectvalue),
contextstrokeStyle,
contextfillStyle,
fillCheckboxchecked);
drawPolygon(polygon);//画多边形
if (!dragging) {//保存这个多边形
polygonspush(polygon);
}
}
//更新橡皮筋
function updateRubberband(loc, sides, startAngle) {
updateRubberbandRectangle(loc);
drawRubberbandShape(loc, sides, startAngle);
}
// 网络线
function drawHorizontalLine (y) {
contextbeginPath();
contextmoveTo(0,y+05);
contextlineTo(contextcanvaswidth,y+05);
contextstroke();
}
function drawVerticalLine (x) {
contextbeginPath();
contextmoveTo(x+05,0);
contextlineTo(x+05,contextcanvasheight);
contextstroke();
}
function drawGuidewires(x, y) {
contextsave();
contextstrokeStyle = 'rgba(0,0,230,04)';
contextlineWidth = 05;
drawVerticalLine(x);
drawHorizontalLine(y);
contextrestore();
}
//绘制保存的所有多边形
function drawPolygons() {
polygonsforEach( function (polygon) {
drawPolygon(polygon);
});
}
希望能够帮助到你!
菱形(rhombus)是特殊的平行四边形之一。有一组邻边相等的平行四边形称为菱形。如右图,在平行四边形ABCD中,若AB=BC,则称这个平行四边形ABCD是菱形,记作◇ABCD,读作菱形ABCD。 [1]
性质编辑
在一个平面内,有一组邻边相等的平行四边形是菱形(rhombus)。
性质:
菱形具有平行四边形的一切性质;
菱形的四条边都相等;
菱形的对角线互相垂直平分且平分每一组对角;
菱形是轴对称图形,对称轴有2条,即两条对角线所在直线;
菱形是中心对称图形; [1]
判定编辑
在同一平面内,
一组邻边相等的平行四边形是菱形;
对角线互相垂直的平行四边形是菱形;
四条边均相等的四边形是菱形;
对角线互相垂直平分的四边形;
两条对角线分别平分每组对角的四边形;
有一对角线平分一个内角的平行四边形;
菱形是在平行四边形的前提下定义的,首先它是平行四边形,而且是特殊的平行四边形,特殊之处就是“有一组邻边相等”,因而增加了一些特殊的性质和判定方法。
菱形的一条对角线必须与x轴平行,另一条对角线与y轴平行。不满足此条件的几何学菱形在计算机图形学上被视作一般四边形。 [1]
面积编辑
设一个菱形的面积为S,边长为a,高为b,两对角线分别为c和d,一个最小的内角为∠θ,则有:
S=ab(菱形和其他平行四边形的面积等于底乘以高);
S=cd÷2(菱形和其他对角线互相垂直的四边形的面积等于两对角线乘积的一半);
S=a^2·sinθ。 [1]
中点四边形编辑
依次连接四边形各边中点所得的四边形称为中点四边形。
不管原四边形的形状怎样,中点四边形的形状总是平行四边形。
菱形的中点四边形总是矩形。(对角线垂直的四边形的中点四边形均为矩形)
常见图案菱形(rhombus)是特殊的平行四边形之一。有一组邻边相等的平行四边形称为菱形。如右图,在平行四边形ABCD中,若AB=BC,则称这个平行四边形ABCD是菱形,记作◇ABCD,读作菱形ABCD。 [1]
性质编辑
在一个平面内,有一组邻边相等的平行四边形是菱形(rhombus)。
性质:
菱形具有平行四边形的一切性质;
菱形的四条边都相等;
菱形的对角线互相垂直平分且平分每一组对角;
菱形是轴对称图形,对称轴有2条,即两条对角线所在直线;
菱形是中心对称图形; [1]
判定编辑
在同一平面内,
一组邻边相等的平行四边形是菱形;
对角线互相垂直的平行四边形是菱形;
四条边均相等的四边形是菱形;
对角线互相垂直平分的四边形;
两条对角线分别平分每组对角的四边形;
有一对角线平分一个内角的平行四边形;
菱形是在平行四边形的前提下定义的,首先它是平行四边形,而且是特殊的平行四边形,特殊之处就是“有一组邻边相等”,因而增加了一些特殊的性质和判定方法。
菱形的一条对角线必须与x轴平行,另一条对角线与y轴平行。不满足此条件的几何学菱形在计算机图形学上被视作一般四边形。 [1]
面积
设一个菱形的面积为S,边长为a,高为b,两对角线分别为c和d,一个最小的内角为∠θ,则有:
S=ab(菱形和其他平行四边形的面积等于底乘以高);
S=cd÷2(菱形和其他对角线互相垂直的四边形的面积等于两对角线乘积的一半);
S=a^2·sinθ。 [1]
中点四边形编辑
依次连接四边形各边中点所得的四边形称为中点四边形。
不管原四边形的形状怎样,中点四边形的形状总是平行四边形。
菱形的中点四边形总是矩形。(对角线垂直的四边形的中点四边形均为矩形)
需要知道菱形的边长和内角度数。
1、76米长的菱形需要知道菱形的边长和内角度数,做条垂直的辅助线,根据勾股定理可算出对边距离。
2、菱形的两组对边的距离相等,因为菱形的两组对边平行,根据平行线间的距离处处相等,可得到菱形的两组对边的距离相等。
欢迎分享,转载请注明来源:浪漫分享网
评论列表(0条)