Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Geometry_Engine: Remove Degrees() method for NurbsSurface #1297

Closed
pawelbaran opened this issue Nov 4, 2019 · 4 comments · Fixed by #1319
Closed

Geometry_Engine: Remove Degrees() method for NurbsSurface #1297

pawelbaran opened this issue Nov 4, 2019 · 4 comments · Fixed by #1319
Assignees
Labels
type:question Ask for further details or start conversation

Comments

@pawelbaran
Copy link
Member

pawelbaran commented Nov 4, 2019

Description:

BH.Engine.Geometry.Query.Degrees(this NurbsSurface surf) method does not return correct results when the first knot value does not have full multiplicity (Rhino wiki). Therefore, a new approach is proposed in this BHoM PR and #1298.

Test file:

Uploaded to SharePoint.

@epignatelli
Copy link
Member

When does this happen? Why doesn't the nurbs knot vector have full multiplicity some times?

@pawelbaran
Copy link
Member Author

I believe every surface closed by a periodic curve will be subject to that issue - an example has been added to the description of this issue.

@epignatelli
Copy link
Member

epignatelli commented Nov 6, 2019

Yeah, I am almost sure it is what @enarhi caught as well.

But then I think that making sure that Degrees returns a correct value also for periodic curve is the thing to fix. I'd avoid storing it in the object just because there is a bug in the Degrees method.
What do you think?

@pawelbaran
Copy link
Member Author

pawelbaran commented Nov 6, 2019

From what I have found out, it is impossible to fix the bug because at the moment what we have is:

  • total number of control points
  • number of u knots
  • number of v knots

In order to retrieve the degree in each direction we still need the number of control points in u and v - we end up with two unknowns in one equation: n = u * v

I am not an expert in the field though, so please be critical towards the above 🐒

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type:question Ask for further details or start conversation
Projects
None yet
4 participants