-
Notifications
You must be signed in to change notification settings - Fork 107
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
path_extrude() artifacts when path touches Z axis #3
Comments
The problem comes from the Currently, avoiding such a path or the workaround you provided are ways to keep the problem away. I am trying to figure out a solution to solve it. |
You're looking for "frenet frame rotation" or similar solutions
…On Wed, 2 May 2018, 10:16 Justin Lin, ***@***.***> wrote:
The problem comes from the section function within path_extrude because
it rotates each point of a section around Z first. When path touches Z axis
and its projection on the XY plane makes a (nearly) 180-degree turn, the
problem happens.
Currently, avoiding such a path or the workaround you provided are ways to
keep the problem away.
I am trying to figure out a solution to solve it.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#3 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AKcAab-NfriCqd4ctT6NlbX-AgfY_n2Hks5tuWt4gaJpZM4TtkGY>
.
|
As far as I know, the problem of using only points to describe a path is that we don't have enough information about the path, such as how to rotate our cross-sections. The If we have a curve equation such as Archimedean spiral, cross_sections is more suitable. If we only have the points of a path and I'm studying the Frenet–Serret formulas. Maybe one day, I can come up with a |
|
I'm having fun playing with your library and thought I would try debugging this. I got lost in the path_extrude code. I may try a pull request for feature I am trying to add. I haven't figured out the pull request process, though. |
I'm thinking that Quaternion might have chance to fix this issue. |
How did you solve it. Is it a a general solution for arbitrary paths and cross sections? |
Awesome! Thank You! |
@TLC123 In my opinion, there's no general solution for arbitrary paths because a path doesn't provide enough information about how to move sections. You may only try to find an acceptable solution without obvious bugs. (Yes, I hope the current solution has no obvious bugs ^^ ) |
I add a |
When
path_extrude()
given a path that touches axis parallel to Z, it produces some artifacts in the touch area. Code to reproduce:Result:
The workaround is to rotate the path so that it doesn't touch Z:
The text was updated successfully, but these errors were encountered: