Wings 3D Development Forum
[W.I.P.] Curve Tools plugin - Printable Version

+- Wings 3D Development Forum (https://www.wings3d.com/forum)
+-- Forum: Wings 3D (https://www.wings3d.com/forum/forumdisplay.php?fid=1)
+--- Forum: Design & Development (https://www.wings3d.com/forum/forumdisplay.php?fid=6)
+--- Thread: [W.I.P.] Curve Tools plugin (/showthread.php?tid=2580)

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15


RE: [W.I.P.] Curve editor plugin - micheus - 12-25-2017

After search and read a lot of articles to try understand how splines can be computed, I finally got some time to try code an algorithm (in truth port a code i found) to create the b-spline curve (NURBS) using the CV method (Control Vertice):


[Image: lines-styles.png]
I just noticed there is still a small bug since the first segment (starting from left side) doesn't connect to the first vertex (or control vertex).

Working on Bezier curve now. Smile


RE: [W.I.P.] Curve editor plugin - olve11 - 12-27-2017

Micheus that's useful modeling tools!
For designers very impressive. It can be used similar as in Rhinoceros 3D ?
(I mean, about this theme has someone ask in forum history)


RE: [W.I.P.] Curve editor plugin - micheus - 12-27-2017

Bezier curve was finished too. This is how they look during the create command:
[Image: curves-3.png]

Now working on selection system. As I told before, lot of work until the plugin be useful since everything needs to be recreated to work with curves. Sometimes I can just stole code from Wings3D's core and adapt to my needs and sometimes I need to figure it out by my self.

(12-27-2017, 06:44 AM)olve11 Wrote: It can be used similar as in Rhinoceros 3D ?
(I mean, about this theme has someone ask in forum history)
If you mean to replicate commands like Extrude, Loft and Revolve the answer is: I hope so.
For the Network Surface command it can be: I'm going to try, but probably something with low complexity.

I have been watching dozens of video tutorials about curves in other 3D applications looking for the usual terms for name them, ways to handle them and features that use them.

I believe anything I could reach in this plugin would be a time saver. Smile


RE: [W.I.P.] Curve editor plugin - Dimitri - 01-03-2018

Wishes for a blessed, deeply happy new year all!

Micheus your undertaking is a very serious one for Wings' modeling abilities. When we will have something to experiment with?


RE: [W.I.P.] Curve editor plugin - micheus - 01-03-2018

I hope in a month or two.

I still finishing the drawing code review and implementing the selection stuff.
After that I may make it available for usability evaluation, but it will not have use without the window I have to create to manage the curves as well as all the options to allow us to create objects using them.
So, it's a long way to get something really useful. Biggrin

-----

Just a background history...
The idea to work in a curve plugin started in 2012 with a basic plugin ready in 2013.Since there until 2014 I exchange a couple of messages about this subject with Fonte Boa, oort, Arg Arg and ggaliens. At some point that year I lost the source code (it was in a memory stick that I lose). After that I got involved with the bug fix and some conversions from the old to the new UI interface for Wings3D.
Just because this year things are a bit quiet I had some extra time to use for myself in Wings3D and I decided to start the curve plugin from sketch and better them the first one. Smile


RE: [W.I.P.] Curve editor plugin - micheus - 01-17-2018

An update...

The selection options was finished. I'm still not sure about how to manage the selection mode - if I use the regular Wings3D one or if my module should to use an own one. By now I'm using the Wings3D one and interpreting the face mode as edge.

Today I finally finished to port the basic code from Wings3D dragging source code. So, the basic operations like Move (Free, X, Y, Z) are implemented. I hope the Rotate implementation should be easier now.

There is still a small issue drawing a curve which some edges are selected, but I'm going to check this later.


RE: [W.I.P.] Curve editor plugin - Dimitri - 01-18-2018

Waiting to try it! : - )


RE: [W.I.P.] Curve editor plugin - oort - 01-23-2018

Micheus,
Glad to see you are still working on this plugin.

Thanks,
oort


RE: [W.I.P.] Curve editor plugin - micheus - 03-04-2018

Lets go to a new update report...

This project already count with 10 files, just because it's growing and to keep things organized and with a similar structure like the Wings3D sources.

Like I said before, it's like I was building another Wings3D inside it. Almost nothing can be reused - there is no core support for this stuff. That is why it's taking some time until I can share it with you. Any change I make in the main structure compromises a previous saved file - Wings3D can crash and the project cannot be load anymore. I don't want any of you experiencing that. Smile

I have been very busy with personal stuffs plus the fact I have just a couple of free time to work on it makes things even more slower. Sad

The latest two weeks, I spent searching/looking for a way to get right vectors orientation along the curve. That is the most important thing at this point because that will allow us to sweep a 2D shape along the curve to create our 3D object in the right way.

I would like to avoid to compute parametric formulas from the curve to find the Tangent, Normal, Bi-Tangent for each vertex (Frenet–Serret formulas). At the end I did a mix of things I found and today I it seems like I got it working properly (we will discover when we create the 3D objects Biggrin):

[Image: curves-tg-bitg-n.png]Left is what I initially was computing and Right is the same curve after apply the new approach

[Image: curves-tg-bitg-n-2.png]

Some references were these (besides others):
Frenet–Serret formulas at Wikipedia
Computing Coordinate Frames on a Spline with Minimal Torsion by James Bird
Rendering Curves as Geometry: Hair Rendering from Scratchapixel 2.0
Calculating normals in a spline

I hope in the next update I have something for your guys to play with.


RE: [W.I.P.] Curve editor plugin - micheus - 03-09-2018

Finally I could add some code to see if I'm in the right direction.

The first use of it will be to create strips, so the dialog offers us some basic 2D primitives like: ribbon, triangle, square, pentagon and hexagon.

Before I start to build the 3D objects I need to know if I was moving/location the primitives accordingly and if my simplified code keeps them flowing well over the curve. I think it's not bad, but some issues were noticed:
[Image: curves-sweep-0.png]

I still need to work on the my own Geometry graph window to include the curve shape properly. After that, probably I can make a beta version avaluable for your initial evaluation about its usability. Smile