Jump to content


Photo

Spherizing A 3D Cube


  • Please log in to reply
3 replies to this topic

#1 mzigaib

mzigaib

    Flying Pig

  • Adv Members
  • PipPipPipPipPip
  • 165 posts

Posted 29 November 2014 - 12:17 PM

I am trying to spherize a 3D cube using the customvertex node, so to start I am trying create a vector from the current vertex position to the center and add it to the current point position. I tried to do that by using the position tab using this "p? + (p? - 0)" the points were supposed to stick to the center but it doesn't seem to work.

 

Any tips?



#2 Dunn

Dunn

    Flying Pig

  • Adv Members
  • PipPipPipPipPip
  • 303 posts

Posted 01 December 2014 - 06:28 PM

Try this...

 

px+px * sqrt(n1 - (py*py/n2) - (pz*pz/n2) + (py*py*pz*pz/n3))

py+py * sqrt(n1 - (pz*pz/n2) - (px*px/n2) + (pz*pz*px*px/n3))

pz+pz * sqrt(n1 - (px*px/n2) - (py*py/n2) + (px*px*py*py/n3))

 

copy these guys to the XYZ Position Expression and play with the values ( n1 = 1, n2= 2 n3= 3 ) to your liking.

This was just a trial and error .. hope it works out for you.



#3 SirEdric

SirEdric

    Flying Pig

  • Adv Members
  • PipPipPipPipPip
  • 835 posts

Posted 02 December 2014 - 07:15 AM

Hi Michel.

 

Here's a comp that uses WorldCoordinates to warp a Plane into a Sphere.

Maybe it helps as well?....-)

 

{
    Tools = ordered() {
        Background1 = Background {
            Inputs = {
                Width = Input { Value = 2048, },
                Height = Input { Value = 1556, },
                Depth = Input { Value = 4, },
                Type = Input { Value = FuID { "Corner", }, },
                TopLeftGreen = Input { Value = 1, },
                TopRightRed = Input { Value = 1, },
                TopRightGreen = Input { Value = 1, },
                BottomLeftBlue = Input { Value = 1, },
                BottomRightRed = Input { Value = 1, },
                Gradient = Input {
                    Value = Gradient {
                        Colors = {
                            [0] = { 0, 0, 0, 1, },
                            [1] = { 1, 1, 1, 1, },
                        },
                    },
                },
            },
            ViewInfo = OperatorInfo { Pos = { 94, 38.05, }, },
        },
        CustomTool1 = Custom {
            Inputs = {
                LUTIn1 = Input {
                    SourceOp = "CustomTool1LUTIn1",
                    Source = "Value",
                },
                LUTIn2 = Input {
                    SourceOp = "CustomTool1LUTIn2",
                    Source = "Value",
                },
                LUTIn3 = Input {
                    SourceOp = "CustomTool1LUTIn3",
                    Source = "Value",
                },
                LUTIn4 = Input {
                    SourceOp = "CustomTool1LUTIn4",
                    Source = "Value",
                },
                RedExpression = Input { Value = "Sin(360*r1)*Sin(180-180*g1)", },
                GreenExpression = Input { Value = "Cos(180-180*g1)", },
                BlueExpression = Input { Value = "Cos(360*r1)*Sin(180-180*g1)", },
                AuxChannelNest = Input { Value = 1, },
                Image1 = Input {
                    SourceOp = "Background1",
                    Source = "Output",
                },
            },
            ViewInfo = OperatorInfo { Pos = { 278, 39.05, }, },
        },
        CustomTool1LUTIn1 = LUTBezier {
            KeyColorSplines = {
                [0] = {
                    [0] = { 0, RH = { 0.333333333333333, 0.333333333333333, }, Flags = { Linear = true, }, },
                    [1] = { 1, LH = { 0.666666666666667, 0.666666666666667, }, Flags = { Linear = true, }, },
                },
            },
            SplineColor = { Red = 204, Green = 0, Blue = 0, },
            NameSet = true,
        },
        CustomTool1LUTIn2 = LUTBezier {
            KeyColorSplines = {
                [0] = {
                    [0] = { 0, RH = { 0.333333333333333, 0.333333333333333, }, Flags = { Linear = true, }, },
                    [1] = { 1, LH = { 0.666666666666667, 0.666666666666667, }, Flags = { Linear = true, }, },
                },
            },
            SplineColor = { Red = 0, Green = 204, Blue = 0, },
            NameSet = true,
        },
        CustomTool1LUTIn3 = LUTBezier {
            KeyColorSplines = {
                [0] = {
                    [0] = { 0, RH = { 0.333333333333333, 0.333333333333333, }, Flags = { Linear = true, }, },
                    [1] = { 1, LH = { 0.666666666666667, 0.666666666666667, }, Flags = { Linear = true, }, },
                },
            },
            SplineColor = { Red = 0, Green = 0, Blue = 204, },
            NameSet = true,
        },
        CustomTool1LUTIn4 = LUTBezier {
            KeyColorSplines = {
                [0] = {
                    [0] = { 0, RH = { 0.333333333333333, 0.333333333333333, }, Flags = { Linear = true, }, },
                    [1] = { 1, LH = { 0.666666666666667, 0.666666666666667, }, Flags = { Linear = true, }, },
                },
            },
            SplineColor = { Red = 204, Green = 204, Blue = 204, },
            NameSet = true,
        },
        ImagePlane3D1 = ImagePlane3D {
            Inputs = {
                ["SurfacePlaneInputs.SizeLock"] = Input { Value = 0, },
                ["SurfacePlaneInputs.SubdivisionWidth"] = Input { Value = 100, },
                ["SurfacePlaneInputs.SubdivisionHeight"] = Input { Value = 50, },
                ["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 1, },
                ["MtlStdInputs.MaterialID"] = Input { Value = 1, },
            },
            ViewInfo = OperatorInfo { Pos = { 91, 99, }, },
        },
        Displace3D1 = Displace3D {
            CtrlWZoom = false,
            Inputs = {
                SceneInput = Input {
                    SourceOp = "ImagePlane3D1",
                    Source = "Output",
                },
                Channel = Input { Value = 6, },
                Mode = Input { Value = 1, },
                Scale = Input { Value = 1, },
                Input = Input {
                    SourceOp = "CustomTool1",
                    Source = "Output",
                },
            },
            ViewInfo = OperatorInfo { Pos = { 321, 103.05, }, },
        },
    },
}



#4 Dunn

Dunn

    Flying Pig

  • Adv Members
  • PipPipPipPipPip
  • 303 posts

Posted 02 December 2014 - 09:52 AM

Wow. nice one Eric.  :mf_dribble:






0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users