m b1 As Brep = Nothing
If (heights(b) > heights(b+1)) Then
b0 = breps(b+1)
b1 = breps(b)
Else
b0 = breps(b)
b1 = breps(b+1)
End If
Dim bDiff As Brep() = Brep.CreateBooleanDifference(b0, b1, 0.1)
If (bDiff IsNot Nothing) AndAlso (bDiff.Length > 0) Then
breps(b) = bDiff(0)
End If
--
David Rutten
david@mcneel.com
Poprad, Slovakia…
Added by David Rutten at 7:32am on October 16, 2012
pe and its surface.
However, I don't have that much knowledge about both grasshopper and Mathematica.. I mean I can only make assumptions and think about relations of certain functions but that's all.
If you can help me on this, I would appreciate it so much.
You can see a screenshot of the code and model of the demonstration from mathematica in attachment.
And here is the mathematica code;
Manipulate[ Module[{\[CurlyEpsilon] = 10^-6, c1 = Tan[a1], c2 = Tan[a2], c3 = Tan[a3], c4 = Tan[a4], c5 = Tan[a5], c6 = Tan[a6]}, ContourPlot3D[ Evaluate[ c6 Sin[3 x] Sin[2 y] Sin[z] + c4 Sin[2 x] Sin[3 y] Sin[z] + c5 Sin[3 x] Sin[y] Sin[2 z] + c2 Sin[x] Sin[3 y] Sin[2 z] + c3 Sin[2 x] Sin[y] Sin[3 z] + c1 Sin[x] Sin[2 y] Sin[3 z] == 0], {x, \[CurlyEpsilon], Pi - \[CurlyEpsilon]}, {y, \[CurlyEpsilon], Pi - \[CurlyEpsilon]}, {z, \[CurlyEpsilon], Pi - \[CurlyEpsilon]}, Mesh -> False, ImageSize -> {400, 400}, Boxed -> False, Axes -> False, NormalsFunction -> "Average", PlotPoints -> ControlActive[10, 30], PerformanceGoal -> "Speed"]], {{a1, 1, "\!\(\*SubscriptBox[\(\[Alpha]\), \(1\)]\)"}, -Pi/2 - 0.01, Pi/2 + 0.01, ImageSize -> Tiny}, {{a2, 1, "\!\(\*SubscriptBox[\(\[Alpha]\), \(2\)]\)"}, -Pi/2 - 0.01, Pi/2 + 0.01, ImageSize -> Tiny}, {{a3, 1, "\!\(\*SubscriptBox[\(\[Alpha]\), \(3\)]\)"}, -Pi/2 - 0.01, Pi/2 + 0.01, ImageSize -> Tiny}, {{a4, 1, "\!\(\*SubscriptBox[\(\[Alpha]\), \(4\)]\)"}, -Pi/2 - 0.01, Pi/2 + 0.01, ImageSize -> Tiny}, {{a5, 1, "\!\(\*SubscriptBox[\(\[Alpha]\), \(5\)]\)"}, -Pi/2 - 0.01, Pi/2 + 0.01, ImageSize -> Tiny}, {{a6, 1, "\!\(\*SubscriptBox[\(\[Alpha]\), \(6\)]\)"}, -Pi/2 - 0.01, Pi/2 + 0.01, ImageSize -> Tiny}, AutorunSequencing -> {1, 3, 5}, ControlPlacement -> Left]…
hope it will do the job (maybe its not the cleanest way, but it works for me sometimes. Depending on the ending of the lists you should wrap or not the shift component.
Good luck…
Added by Pep Tornabell at 2:05am on November 19, 2009
on for curves, if you make an algorithm that dynamically defines the possition of the controlpoints for NURBS curves as a function of the parameteres in F(t, a1,...,b1,...,c1,...)= x(t, a1, a2...)+y(t, b1, b2...)+ z(t, c1, c2...) or F(x, a, b ,c...)?
…