繞x,y,z軸做旋轉運動,並放大
up:加大變化量
down:減小變化量
效果圖:
// 變換量
var angle_step = 30.0; //角度
var scale_step = 0.2; //
var distance_step = 0.00; //位置
function main()
if (!initshaders(gl, vshader_source, fshader_source))
//write the positions of vertices to vertex shader
var n = initvertexbuffers(gl);
if (n < 0)
// specify the color for clearing gl.clearcolor(0, 0, 0, 1);
var u_modelmatrix = gl.getuniformlocation(gl.program, 'u_modelmatrix');
if (!u_modelmatrix)
var currentangle = 0.0;
var currentscale = 0.0;//初始大小
var currentx = 0.0; //初始位置
var modelmatrix = new matrix4(); //模矩陣
var tick = function() ;
tick();
}function initvertexbuffers(gl)
//bind the buffer object to the target
gl.bindbuffer(gl.array_buffer, vertexbuffer);
//write datas into the buffer object
gl.bufferdata(gl.array_buffer, verticescolors, gl.static_draw);
var fsize = verticescolors.bytes_per_element;
var a_position = gl.getattriblocation(gl.program, 'a_position');
if (a_position < 0)
//assign the buffer object to a_position variable
//將緩衝區物件分配給a_position
gl.vertexattribpointer(a_position, 2, gl.float, false, fsize * 5, 0);
//enable the assignment to a_position variable
//緩衝區分配
gl.enablevertexattribarray(a_position);
//獲取a_color儲存位置
var a_color = gl.getattriblocation(gl.program, 'a_color');
if (!a_color < 0)
//將緩衝區物件分配給a_color
gl.vertexattribpointer(a_color, 3, gl.float, false, fsize * 5, fsize * 2);
//開啟緩衝區分配
gl.enablevertexattribarray(a_color);
//繫結緩衝區
// gl.bindbuffer(gl.array_buffer,null);
return n;
}function draw(gl, n, currentangle, currentscale, currentx, modelmatrix, u_modelmatrix)
//上一次函式被調起的時間
var r_last = date.now();
function animate_r(angle)
var s_last = date.now();
function animate_s(scale)
var t_last = date.now();
function animate_t(tx) else
}function up()
function down()
求任意多邊形面積(凹多邊形和凸多邊形)
遇到問題 已知多邊形的各個左邊點,要求多邊形的面積 然後我搜尋了下看到這篇文章 這個人說的不多,但是簡單明瞭 首先已知各定點的座標分別為 x1,y1 x2,y2 x3,y3 xn,yn 則該多邊形的面積公式為 s 1 2 x1 y2 x2 y1 x2 y3 x3 y2 xk yk 1 xk 1 yk...
驗證多邊形是否為凸多邊形
驗證多邊形是否為凸多邊形 2108 shape of hdu include define debug 0 int crossmulti int x0,int y0,int x1,int y1,int x2,int y2 int main int n,i int f x,f y 第1個點 int s...
多邊形面積
點積 a b x1 x2 y1 y2 a b cos 點積的結果是乙個數值 叉積 a b x1 y2 x2 y1 a b sin 叉積的結果也是乙個向量,是垂直於向量a,b所形成的平面,如果看成三維座標的話是在 z 軸上,上面結果是它的模。三角形的面積 向量a和 向量b的叉積的絕對值表示 以 向量a...