Hola, disculpa la demora, espero no sea muy tarde aún.
Paso a paso comentamos las inquietudes que tenías:
Primero, para verificar que un punto esté dentro del triángulo, yo usé un poco de geometría básica aclarando que esta fue la solución que di cuando estaba en la universidad, de modo que si encuentras algo para mejorar, bienvenidas sean las sugerencias.
Te adjunto una imagen que imprime mi programa del triángulo de Sierpinski.
Lo primero que notarás es que "recargué" el triángulo hacia el lado izquierdo, ésto con la finalidad de facilitar las operaciones de verificación de puntos dentro del triángulo, así como la impresión gráfica.
Ahora, los vértices en mi triángulo siempre serán el origen O(0,0), el P1(0,100) y el P2(100,0), es decir, los catetos del triángulo son de tamaño 100, esto se lo puse arbitrariamente.
Entonces para saber si un punto vive dentro del triángulo o no, primero tienes que encontrar la ecuación de la recta que pasa por los puntos P1 y P2 (línea rosa), ya que esa recta servirá como el límite para identificar a los puntos válidos.
Una vez identificada la recta (es muy sencillo averiguarla), ahora debes averiguar cuál es la distancia del punto O a la recta P1P2 (llámale d1, línea verde), ya que esta es la distancia máxima que puede ser permitida para que el punto viva dentro del triángulo.
Pero esta condición no es suficiente, tienes que hacer los pasos anteriores para calcular la distancia del punto P1 a la recta OP2 (llámale d2, línea roja) y del punto P2 a la recta OP1 (llámale d3, línea azul).
He colocado en la imagen la fórmula para calcular la distancia de un punto a una recta.
Finalmente cualquier punto que quieras solicitar no deberá pasar de estas distancias con respecto de los vértices, es decir, supón que el punto que pediste al usuario se llama K, así:
d(O,K) <= d1
d(P1,K) <= d2
d(P2,K) <= d3
Como podrás notar, el hecho de haber colocado el triángulo del lado izquierdo sirvió de mucho pues así me ahorré muchas operaciones, ahora que si quieres centrar el triángulo la misma idea prevalece pero deberías hacer traslaciones en los ejes coordenados y las operaciones se complican un poco.
Con respecto de gnuplot, no estoy muy familiarizado con la herramienta, pero por lo que entiendo tu problema es que guardas tus puntos en un archivo y luego una vez terminado el programa ejecutas gnuplot, sin embargo lo que quieres es que se creen y grafiquen los puntos en una sola ejecución.
Lo que te puedo decir es que C tiene formas de ejecutar comandos exteriores, usando la instrucción exec por ejemplo; de hecho leyendo un poco encontré esta liga de utilidad, parece que resuelve lo que pides.
https://sushpa.wordpress.com/2008/05/29/calling-gnuplot-from-within-c-or-python/
Si necesitas ayuda estoy a tus órdenes.
Saludos.