![]() Registered Member ![]()
|
This request opens up krita to math based artists, but more importantly, the scientific community and possibly plotters in general.
This thread is just for discussion up until point that a formal request/item can be drafted/possibly funded. This is by no means an unreachable goal(It just might take some time to perfect the details). After some brief talk with Wolthera on IRC, I did a tad bit of research into the matter(our codebase), but the request is a simple-ish one, considering most if not all of the logic already exists(in code somewhere between the two projects, not counting the mathematica geeks). THE REQUEST: Using maths to render curves like we do in Embroidermodder 2 with stuff like that is computed with Mathematica/Wolfram Alpha, since we are using just 2D(in krita and also the others for that matter) ... maybe not quite as extreme as our Embroidermodder 2 theme(which was actually stitched out and is tileable, plus used real thread material(which stretches), but hey ![]() Emboidermodder2Theme/Nina's awesome animated stitchery: ![]() ![]() The implementation(of the widgets contained within) should be relatively similar to the "Numerical Input Widget"(which doesn't do PI(Why?) by-the-way), but probably as a docker with math(text widgets) options and a render button(Draw each point with a brush splat at x/y in the iteration). One point brought up by Wolthera, was that theta is a function() and should be handled with care programmatically when implemented, based on security concerns, which is a VERY valid concern. Most of what is used as theta functions involves PI(or a multiplication thereof) as a base variable(think how much can your curve curve?...) and number of points*iteration variable(desired quality of curve) that would comprise of "theta"(t for short). Implementing theta this way as a docker option should securely limit what can go into it based on users just pasting whatever into it. Short of actually implementing a "CAD Layer" in krita, the x/y axis/starting point could be implemented as a option input(or offset logic depending on how you think about it)(might be normally center of the canvas as default). Also a function to "Splat current brush at x/y position" on the canvas would be needed, which probably already exists in the codebase. Exposure of this function in python api would be great. Basic example of our code doing this can be seen here for math geeks/programmers: x,y and theta and numPoints as a variable. https://github.com/Embroidermodder/Embr ... hin.js#L63 Regulating it to basic math functions(PI included) should be a simple start for any interested. I encourage thoughts/opinions/hacks as this is just a think tank at the moment. Cheers. |
Registered users: Bing [Bot], blue_bullet, Google [Bot], rockscient, Yahoo [Bot]