java - fill color inside triangle by three co-ordinates -


i using point cloud. have 3d points me .

let's : point p(x,y,z), point q(x,y,z), point r(x,y,z) assuming points triangle pqr proceed further .

triangle : triangle created 3 points.

how can possible fill area inside points plotted , triangle filled colour.

like : image.

my study might have helped :

edit :

some way success :

public void make_polygon(float[] points_x,float[] points_y,float[] points_z) {     material mspherematerial_z = new material();     //mspherematerial_z.setcolor(color.blue);     bitmap p_z_bitty = gettrianglebitmap(bitmapfactory.decoderesource(mcontext.getresources(),r.drawable.label_bg_sm),5,points_x,points_y,points_z);     texture t = new texture("text",p_z_bitty);     try {         mspherematerial_z.addtexture(t);     }     catch(exception e)     {         e.printstacktrace();     }     object3d p_z =  new plane();     p_z.setposition(points_x[0],points_y[1],points_z[2]);     p_z.setmaterial(mspherematerial_z);     p_z.setdoublesided(true);     getcurrentscene().addchild(p_z); }  public static bitmap gettrianglebitmap(bitmap bitmap, int radius,float[] a,float[] b,float[] c) {     bitmap finalbitmap;     if (bitmap.getwidth() != radius || bitmap.getheight() != radius)         finalbitmap = bitmap.createscaledbitmap(bitmap, radius, radius,                 false);     else         finalbitmap = bitmap;     bitmap output = bitmap.createbitmap(finalbitmap.getwidth(),             finalbitmap.getheight(), bitmap.config.argb_8888);     canvas canvas = new canvas(output);      paint paint = new paint();     final rect rect = new rect(0, 0, finalbitmap.getwidth(),             finalbitmap.getheight());       //        point point1_draw = new point(75, 0);      //        point point2_draw = new point(0, 180);      //        point point3_draw = new point(180, 180);     pointf point1_draw = new pointf(a[0],a[1]);     pointf point2_draw = new pointf(b[0], b[1]);     pointf point3_draw = new pointf(c[0],c[1] );      path path = new path();     path.moveto(point1_draw.x, point1_draw.y);     path.lineto(point2_draw.x, point2_draw.y);     path.lineto(point3_draw.x, point3_draw.y);     path.lineto(point1_draw.x, point1_draw.y);     path.close();     canvas.drawargb(0, 0, 0, 0);     paint.setcolor(color.parsecolor("#bab399"));     canvas.drawpath(path, paint);     paint.setxfermode(new porterduffxfermode(porterduff.mode.src_in));     canvas.drawbitmap(finalbitmap, rect, rect, paint);      return output; } 

now result : enter image description here

can 1 guide me or suggest article android java ?

if more information / code needed , shall provided.

you should able passing vertices triangle rajawali in order draw triangle primitive. way can avoid using canvas or drawing bitmap , simplify rendering.

// p, q, , r triangle vertices , of form {x, y, z}. public void make_triangle(float[] p, float[] q, float[] r) {     object3d triangle = new object3d();      // copy 3 points flat array our vertices.     float[] vertices = new float[3 * 3];     (int = 0; < 3; i++) {         vertices[i] = p[i];         vertices[3 + i] = q[i];         vertices[6 + i] = r[i];     }      // set index buffer point @ our 3 vertices , draw 1 triangle.     int[] indices = new int[3];     (int = 0; < 3; i++) {         indices[i] = i;     }      // set rendering data.     triangle.setdata(vertices, null, null, null, indices, true);      // render triangle double sided.     triangle.setdoublesided(true);      // use blue material.     material material = new material();     material.setcolor(color.blue);     triangle.setmaterial(material);      // add triangle current scene.     getcurrentscene().addchild(triangle); } 

Comments

Popular posts from this blog

python - Operations inside variables -

Generic Map Parameter java -

arrays - What causes a java.lang.ArrayIndexOutOfBoundsException and how do I prevent it? -