World: r3wp
[View] discuss view related issues
older newer | first last |
Anton 24-May-2009 [8884] | Max rate of 15/s sounds a bit low to me. When I was on WinXP it was 48/s maximum rate. |
Maxim 24-May-2009 [8885x6] | if I put rate at or anything above 30 I only ever get 15, and when I do tests with my more precise timing function it seems that by using wait 0.001 I can go at 65 frames / second. ironicaly, rounding and IEEE math errors give me the same 66% - 75% offset between desired rate and actual rate... seems I'm using the same algorythm than REBOL internally. this is on a winxp with 1.5GHz core2 duo. |
(and good nvidia gfx card) | |
I have a strange reaction in some AGG code... calling show on the face is actually appending the new AGG drawing to previous such that the image is the result of all prior draws... but the draw stroke (verified) isn't growing! anyone know what is causing this... AFAFIK I am not using the draw command, but setting the face/effect and calling to-image on the face. | |
DOH! never mind... just found it... I was setting the face/image to that new image ... heheheh obvious. | |
anyone have some spline (bezier, nurbs, anything) math converted to rebol code? I want do to some point on spline stuff, using control vertices to orient the curve. | |
if it has tangent functions for the points that would even be better! | |
Steeve 24-May-2009 [8891] | did you check rebol.org ? |
Maxim 24-May-2009 [8892x2] | yep.. didn't find anything with spline or curve in it... is there something there? |
but I could have done more searching... | |
Steeve 24-May-2009 [8894] | you can"t use draw dialect ? |
Maxim 24-May-2009 [8895x2] | how do I get the x,y coordinate on the curve from a spline I draw with AGG? |
I need the math, the main use isn't for AGG, but it will eventually have to be displayed anyways. | |
Steeve 24-May-2009 [8897x2] | well i've done some smouth functions to interpolates coordinates, but i don't know if it's your need. What is your input and what output are you expecting ? |
you're starting from some points i guess, and you want to construct a smouth curve with them... | |
Maxim 24-May-2009 [8899] | yes... bezier, b-spline, or nurbs, if possible... cause I can easily match them with other applications if I need to eventually. |
Steeve 24-May-2009 [8900x5] | ok, i give you a hint |
i download a script wait... | |
the most common know function (i guess) to interpolate 2 points is to use this cosine function. (1 - cosine a * 180) / 2 | |
i use it in my plasma script | |
a is a value between 0,1 | |
Maxim 24-May-2009 [8905x3] | I know bezier really is just an iterated break up of an algorythm between control points.. I could implement the math, but if you've got some stuff all done ;-) |
all the algorythms are available on the web via siggraph and other sources, but coding that stuff usually isn't very fun. | |
I was asking, cause I saw a demo once of someone rebuilding the AGG spline manually right over the AGG one.. so some code definitely exists. | |
Steeve 24-May-2009 [8908x2] | no, i use it to interpolate colors, not coordinates, so it is no use as it is in my script. But it's easy to figure how to interpolate coordinates instead of colors gradiants, i gues... |
Giving 2 points as input , i can write it if you want, but give me the paremeters you want and the result expected (an image, a block of coordinates ?). Give the specs | |
Maxim 24-May-2009 [8910] | for linear interpolation its pretty easy. this is the complicated use... give me the (x.y) at length z of (bezier, nurbs, quadratic, etc) spline defined by points p1, p2, p3, p4, pn |
Reichart 24-May-2009 [8911] | We wrote our own spline (arc function for a Paint program we did). DPaint had this, which implies John's RPaint has this code too, no? |
Steeve 24-May-2009 [8912x2] | ho i see, your input is a length and you want the coordinates in return ? |
tricky need | |
Reichart 24-May-2009 [8914x2] | The nice thing is that it works backwards, which is, you give it XY, and a control point, and it draws thorugh the control point. |
Of note, if you want another way to think of an arc. Think of drawing 3 points A B C (C is the "pull") Now, you have what looks like a triangle. If you make a tic halfway between A and C, and B and C, and draw a line been these tics, then keep doing this, you will eventually make an Arc. The last tic is where your Mouse cursor would end up. That is why Arc in RPaint is "backwards". Cool, eh? | |
Steeve 24-May-2009 [8916] | Wow, i understood nothing... |
Reichart 24-May-2009 [8917] | What do you mean? |
Maxim 24-May-2009 [8918] | reichart that is the exact bezier algorythm. |
Reichart 24-May-2009 [8919] | Yup. |
Maxim 24-May-2009 [8920x2] | ok, so I should bother john for his function... he probably profiled it and such... I'm just lazy. |
now I have a real math problem... I didn't even find a direct solution on wolfram mathematica site. do you know of an algorythm (expressed in code, not in math) that can give me the ellipse with two supplied coordinates. center and one point which touches the ellipse? | |
Reichart 24-May-2009 [8922x3] | Steeve, was there something you wanted described? |
Maxim, probably not, since you need to first find an example in a real program that uses that UI. Perhaps GIMP though? | |
My paint program let you draw a start point, and drag a line in some direction, then show an ellipse on that "angle". Then, you could size the width and length, in real time, then when you released the mouse it snapped perfect....it was VERY fast, and very cool. | |
Maxim 24-May-2009 [8925] | some graphic app I'm writting ;-) does the ellipse dragging in real time, but uses x-radius and y-radius which is snapped to the edge of the ellipse... I just prefer single point editing... but for that to be intuitive, the point really has to be exactly on the ellipse... and since ellipse have 2 center points... ellipse seem to be very complex challenge, by what I've read, there isn't even today an exact method to calculate the arclen of an ellipse... only very close approximations! |
Reichart 24-May-2009 [8926x3] | Yup, all circles (ellipses) are doe with an error correction routine. |
We too had to correct "to a pixel" | |
How will you set the "width" of your ellipse? | |
Maxim 24-May-2009 [8929x4] | basically, two points reside on the major and minor axis and a reference center is used. if rotation is needed, I can easily calculate the vector from any of the axis to the center. |
but right now the rotation is locked, cause I'm not sure its a good thing to rotate the ellipse for this specific application. | |
but the powerfull thing, is that you can drag the ellipse itself, by clicking on any part of the line itself, no cvs to drag the shape. :-) | |
and just hovering over the line (the arc) the cvs appear, so they don't clutter the drawing while you're editing other parts of it. | |
Geomol 25-May-2009 [8933] | A REBOL Bezier algorithm: do http://www.fys.ku.dk/~niclasen/rebol/fysik/bezier.r Move the points around with the mouse. |
older newer | first last |