Page 1 of 2

Processing:lerp ,dibujar con la misma distancia.

PostPosted: Sun Aug 07, 2016 4:32 pm
by OskarG
Hola,buenas estoy intentando con processing que me dibuje siempre en el mismo intervalo de tiempo x puntos y no lo logro,he probado con lerp,pero claro segun la longitud de a y b(puntos) la distancia de los que crea son diferentes al resto,tambien he intentado programarlo con este codigo,pero no logro que funcione bien,alguien sabe como hacerlo?¿?



void setup(){
size(800,600);//inciio la pantalla...
}


void draw(){
float angle = atan2((pmouseY - mouseY), (pmouseX - mouseX));
///de to fromm...de a a de
float count=20;//cantidad de divisiones que hago al segmento......
//get the dist() of the line
float lineLength = dist(mouseX,mouseY, pmouseX,pmouseY);

//segmentLength = divide that amount by the # of shapes to be drawn
float segmentLength = lineLength / count;

//loop through, once for each shape:
for(int i = 1; i < count+1; i++) {
float distFromStart = segmentLength * i;
float px = mouseX + distFromStart * cos(angle);
float py = mouseY + distFromStart * sin(angle);
// if (lineLength>6){
point(px, py);
// }
// point(mouseX,mouseY);

}
}






///////////////////////////////
//he intentado poner esta linea pero empeora el progama
//xx=mouseX;
//yy=mouseY;
// float distlinea=dist(xx,yy, px,py);
// if ((distlinea %2)<1){
// point(mouseX,mouseY);

//en teoria si tiene distancia multiple de dos,deberia dibujar puntos con distancia de dos.... :mrgreen:
//
//
/////////////////////////////////COmo hago para que la distancia entre puntos siempre sea constante?¿?

Re: Processing:lerp ,dibujar con la misma distancia.

PostPosted: Sun Aug 07, 2016 4:48 pm
by CicTec
Hola OskarG,

Explica por favor con algun detalle mas a que te refieres con "dibujar con la misma distancia", quizas una imagen, dibujo o screenshot puede ayudar para entender mejor la idea que quieres aplicar.

Re: Processing:lerp ,dibujar con la misma distancia.

PostPosted: Sun Aug 07, 2016 5:28 pm
by OskarG
ejemplo001.png

Hola Citec,
En el primer dibujo se ve que los puntos que he dibujado con el raton,tienen la misma distancia.No se como programarlo!!
En el segundo es lo que hace por defecto cualquier programa,lee las coordenadas del raton y pone ahi dicho pixel.

Re: Processing:lerp ,dibujar con la misma distancia.

PostPosted: Sun Aug 07, 2016 5:52 pm
by CicTec
Pues esto debes programarlo con otro algoritmo.
Si te fijas el primero dibujo es como si fuera formato da 6 segmentos de lineas, por ende debes usar el algoritmo de lineas, donde cada segmento por ejemplo sea de longitud 10 y el punto final de un segmento sea el correspondiente punto inicial del siguiente segmento, asi obtienes que cada punto tenga la misma distancia.

Ahora mismo no recuerdo, pero habia algun tutorial por la red sobre esto, tendre que buscarlo, si lo encuentro te pongo el link.

Re: Processing:lerp ,dibujar con la misma distancia.

PostPosted: Sun Aug 07, 2016 6:32 pm
by OskarG
Gracias,si lo encuentras echare un vistazo.

Re: Processing:lerp ,dibujar con la misma distancia.

PostPosted: Sun Aug 07, 2016 11:05 pm
by erkosone
Hola OskarG, yo tengo mi propio DIV en processing, es una libreria que llevo ya tiempo desarrollando y utilizando, esta bastante completa, solo para 2D y trabaja muy bien y rapido en Android, PC, linux y MacOSX.

Si te interesa te puedo pasar la ultima release. No tengo la Doc Todavia redactada pero vamos.. que con todos los ejemplos que tengo hechos.. es muy facil empezar a programar, en breve comenzaré con los video tutoriales ;)

Sobre como pintar eso.. ten en cuenta que en processing todo se mide en radianes, tienes que pasar a grados antes de usar los valores dependiendo que funciones uses en tus algoritmos o formulas.

Y sobre tu duda.. bueno.. es bastante bastante simple.. voy a ver si puedo montarte un ejemplo ;)

Re: Processing:lerp ,dibujar con la misma distancia.

PostPosted: Mon Aug 08, 2016 11:07 am
by OskarG
1.Genial,sobre el primer punto.
2.Si logras hacerlo se agradece el detalle.
3.Sobre processing,me entró la curiosidad,hablabas mucho sobre este lenguaje ,pero nunca lo probaba.Esta plagado de ejemplos por la red.Mas adelante cuando tenga avanzado lo que estoy haciendo,te preguntaré ciertas cosas que todavía no sé cómo hacerlas,pues no he visto nada parecido.
3.Una duda así de pronto,¿Con p5.js puedes incorporar otras librerias que hay por la red,por ejemplo iio ?¿? http://iio.js.org/

Re: Processing:lerp ,dibujar con la misma distancia.

PostPosted: Mon Aug 08, 2016 10:36 pm
by OskarG
float ypos;
float spaciado=8;
float angulo;
int velocidad=5;
void setup(){
size(800,600);
xpos=mouseX;
ypos=mouseY;
}
void draw(){
for (int i = 0; i < velocidad; i = i+1) {
if (abs(xpos - mouseX) > 4 || abs(ypos - mouseY) > 4) {
angulo= atan2(mouseY - ypos, mouseX - xpos);//calculo angulo de mouse a xpos ypos.
xpos = xpos + round(spaciado* cos(angulo));//nueva posicion
ypos = ypos + round(spaciado* sin(angulo));//nueva posicion
point(xpos,ypos); // Muestro los puntos.
}
}
}



YA lo tengo!!.....y pensar que me pase todo el domingo sin sacarlo,cuando me expresastes los grados entendi como hacerlo,gracias...
Mas adelante,te pregunto cosas sobre las capas en processing,pues he rebuscado y apenas he encontrado informacion y tambien sobre el lenguaje,pues no entiendo muy bien como se declaran los arrays aqui,hace decadas que no programo :mrgreen:

Re: Processing:lerp ,dibujar con la misma distancia.

PostPosted: Tue Aug 09, 2016 1:01 pm
by DoZ
Ohú qué nivel Maribel :D Enhorabuena, aunque no sea capaz ni de entender tu código jajaja

Re: Processing:lerp ,dibujar con la misma distancia.

PostPosted: Tue Aug 09, 2016 2:37 pm
by OskarG
Es que soy pesimo programando,no es mi fuerte,cuando tenga algo decente lo muestro.Ahora estoy liado como hacer capas y ventanas con processing,vamos dentro de un año lo muestro :lol: