UV mapping texture get sliced? in some area I have a flat face (created by bisect fill) that I have to unwrap for using with image that must be pixel perfect(no compress or shear).

What I have done are:


Select bisect filled face
UV>Unwrap it gives me this, notice there are some lighter triangle.





And when I applied texture for it I got this (you can ignore gray square in the image)

It is supposed to be a smooth gradient texture, but it looks like some part of image is cut or fold somehow.
I tried to fix it by using relax tool in blender which remove white triangle from this first image, but, it makes things worse when I apply texture instead.




I'm new to blender and may be asking a silly question. I've been struggling on this for 3-4 weeks now, I've searched everywhere, but I can't find any post relate to my issue. I don't know what else to do, so I turn to this community. Please help me.

Updated #1:
I found that we can manipulate mesh.uv using bpy scripting. Is there a way using that?
I figured it out!

It's turn out that in order to achieve the result I want, I must use smart uv project instead. 

I believe that the cause of this problem is that normal unwrap does strech the texture a little, while smart uv project doesn't

Normal unwrap result:



Smart uv project result: