Logo for the JuliaDiff organization?

Since JuliaCon and its avalanche of stickers are upon us, I thought it would be nice to give JuliaDiff a logo. We have one on GitHub but it’s old and not really differentiation-specific. I gave it a try with Luxor.jl, but I’m a bit of a newbie, so I would really like to know what people on here think… especially @cormullion :wink:
Feel free to play around with the code and suggest alternatives!

luxor-drawing-165749_176

Logo generation code
using Colors, Luxor

(; red, green, blue, purple) = Colors.JULIA_LOGO_COLORS

@draw begin
	origin(0, 0)
	background("white")
	ref = "black"

	setfont("Liberation Sans Medium", 330)
	setline(30)
	setlinejoin("square")
	
	red_point = Point(100, 100)
	purple_point = Point(300, 100)
	green_point = Point(200, 300)
	red_purple_point = (red_point + purple_point) / 2
	red_green_point = (red_point + green_point) / 2
	purple_green_point = (purple_point + green_point) / 2
	f_point = Point(320, 400)
	
	red_black = blend(red_point, 0, red_point, 100, red, ref)
	purple_black = blend(purple_point, 0, purple_point, 100, purple, ref)
	green_black = blend(green_point, 0, green_point, 100, green, ref)
	blue_black = blend(f_point, 0, f_point, 350, blue, ref)
	
	# red corner
	setblend(red_black)
	poly([red_green_point, red_point, red_purple_point])
	strokepath()
	# purple corner
	setblend(purple_black)
	poly([purple_green_point, purple_point, red_purple_point])
	strokepath()
	# green corner
	setblend(green_black)
	poly([purple_green_point, green_point, red_green_point])
	strokepath()
	# function
	setblend(blue_black)
	settext("f", f_point) 
end 500 400
10 Likes

I find the existing logo very cool:

In my opinion, taking the isolines could be a good starting point for making it something vector-like. But I can’t allocate time to explore that further. Perhaps someone else feels the same and can explore this.

2 Likes

A rounder, friendlier version that reuses the font from the Julia logo

luxor-drawing-071614_203

5 Likes

Cool stuff! I love the direction.

The issue with the current logo isn’t so much that it’s not very literal - logos aren’t illustrations and don’t have to be literal - it’s just that it’s a bit untidy. Oddly cropped, peculiar colors, and looks a bit like the rear lights of the car in front of you in the rain. If it could be simpler, vectorised, drawn with more detail - perhaps it could be refreshed…

The triangle shape in your sketches is great - I don’t think it’s been overused in the Julia ecosystem, and I think it could be a strong component of a good logo. Lots of potential for exploration I think:

Screenshot 2024-04-27 at 09.04.14

I’d also suggest trying some ideas without the blends - blends are cool, but don’t always reproduce well on stickers and t-shirts, or at low resolutions…

Maybe you can get the asymmetrical look (with the walking stick) working well… I’m not sure the “f” is saying anything to me, but perhaps you’re tapping in to some maths vibes that I wouldn’t be aware of. :joy:

25 Likes

Thanks so much for taking an interest and making some propositions! I love the Escher vibes of your take

Just for context in case some people had missed it: this triangle shape is the \nabla operator \nabla, which is used in math to denote the gradient of a function. In other words, \nabla f(x) is the gradient of the function f at the point x, aka the direction of largest slope. Hence the connection with JuliaDiff, whose main purpose is taking derivatives.

1 Like

would you mind sharing the source code?

Your graphics are always fascinating and it would be cool to see how you make them :smiley:

2 Likes

With that shape and that blue color, the f really looks like facebook’s. Maybe a f instead would look better?

2 Likes

One take on it:

image

image

If anyone wants to play with it:

Inkscape (SVG) file
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->

<svg
   width="210mm"
   height="297mm"
   viewBox="0 0 210 297"
   version="1.1"
   id="svg5"
   sodipodi:docname="logo.svg"
   inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
   xmlns:xlink="http://www.w3.org/1999/xlink"
   xmlns="http://www.w3.org/2000/svg"
   xmlns:svg="http://www.w3.org/2000/svg">
  <sodipodi:namedview
     id="namedview7"
     pagecolor="#ffffff"
     bordercolor="#666666"
     borderopacity="1.0"
     inkscape:pageshadow="2"
     inkscape:pageopacity="0.0"
     inkscape:pagecheckerboard="0"
     inkscape:document-units="mm"
     showgrid="false"
     inkscape:zoom="1.4412378"
     inkscape:cx="377.80024"
     inkscape:cy="353.16863"
     inkscape:window-width="1883"
     inkscape:window-height="1048"
     inkscape:window-x="37"
     inkscape:window-y="0"
     inkscape:window-maximized="1"
     inkscape:current-layer="layer1" />
  <defs
     id="defs2">
    <marker
       style="overflow:visible;"
       id="Arrow2Lend"
       refX="0.0"
       refY="0.0"
       orient="auto"
       inkscape:stockid="Arrow2Lend"
       inkscape:isstock="true">
      <path
         transform="scale(1.1) rotate(180) translate(1,0)"
         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
         style="stroke:context-stroke;fill-rule:evenodd;fill:context-stroke;stroke-width:0.62500000;stroke-linejoin:round;"
         id="path1416" />
    </marker>
    <marker
       style="overflow:visible"
       id="DotL"
       refX="0.0"
       refY="0.0"
       orient="auto"
       inkscape:stockid="DotL"
       inkscape:isstock="true">
      <path
         transform="scale(0.8) translate(7.4, 1)"
         style="fill-rule:evenodd;fill:context-stroke;stroke:context-stroke;stroke-width:1.0pt"
         d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
         id="path1456" />
    </marker>
    <g
       id="g9792">
      <symbol
         overflow="visible"
         id="symbol8583">
        <path
           style="stroke:none;"
           d=""
           id="path6192" />
      </symbol>
      <symbol
         overflow="visible"
         id="symbol1794">
        <path
           style="stroke:none;"
           d="M 7.78125 -6.59375 C 7.796875 -6.625 7.828125 -6.6875 7.828125 -6.734375 C 7.828125 -6.796875 7.8125 -6.8125 7.59375 -6.8125 L 0.703125 -6.8125 C 0.484375 -6.8125 0.46875 -6.796875 0.46875 -6.734375 C 0.46875 -6.6875 0.5 -6.625 0.515625 -6.59375 L 3.875 0.140625 C 3.953125 0.265625 3.984375 0.328125 4.140625 0.328125 C 4.3125 0.328125 4.34375 0.265625 4.421875 0.140625 Z M 1.703125 -6.09375 L 7.171875 -6.09375 L 4.453125 -0.609375 Z M 1.703125 -6.09375 "
           id="path2936" />
      </symbol>
      <symbol
         overflow="visible"
         id="symbol1502">
        <path
           style="stroke:none;"
           d=""
           id="path4765" />
      </symbol>
      <symbol
         overflow="visible"
         id="symbol7966">
        <path
           style="stroke:none;"
           d="M 3.65625 -3.984375 L 4.515625 -3.984375 C 4.71875 -3.984375 4.8125 -3.984375 4.8125 -4.1875 C 4.8125 -4.296875 4.71875 -4.296875 4.546875 -4.296875 L 3.71875 -4.296875 L 3.921875 -5.4375 C 3.96875 -5.640625 4.109375 -6.34375 4.171875 -6.46875 C 4.25 -6.65625 4.421875 -6.8125 4.640625 -6.8125 C 4.671875 -6.8125 4.9375 -6.8125 5.125 -6.625 C 4.6875 -6.59375 4.578125 -6.234375 4.578125 -6.09375 C 4.578125 -5.859375 4.765625 -5.734375 4.953125 -5.734375 C 5.21875 -5.734375 5.5 -5.96875 5.5 -6.34375 C 5.5 -6.796875 5.046875 -7.03125 4.640625 -7.03125 C 4.296875 -7.03125 3.671875 -6.84375 3.375 -5.859375 C 3.3125 -5.65625 3.28125 -5.546875 3.046875 -4.296875 L 2.359375 -4.296875 C 2.15625 -4.296875 2.046875 -4.296875 2.046875 -4.109375 C 2.046875 -3.984375 2.140625 -3.984375 2.328125 -3.984375 L 2.984375 -3.984375 L 2.25 -0.046875 C 2.0625 0.921875 1.890625 1.828125 1.375 1.828125 C 1.328125 1.828125 1.09375 1.828125 0.890625 1.640625 C 1.359375 1.609375 1.453125 1.25 1.453125 1.109375 C 1.453125 0.875 1.265625 0.75 1.078125 0.75 C 0.8125 0.75 0.53125 0.984375 0.53125 1.359375 C 0.53125 1.796875 0.96875 2.046875 1.375 2.046875 C 1.921875 2.046875 2.328125 1.453125 2.5 1.078125 C 2.828125 0.453125 3.046875 -0.75 3.0625 -0.828125 Z M 3.65625 -3.984375 "
           id="path7570" />
      </symbol>
    </g>
  </defs>
  <g
     inkscape:label="Layer 1"
     inkscape:groupmode="layer"
     id="layer1">
    <g
       style="fill:#369724;fill-opacity:1;stroke:#000000;stroke-width:0.0815629;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
       id="g3949"
       transform="matrix(4.9041912,0,0,4.9041912,-337.76945,-298.465)">
      <g
         id="use6373"
         transform="translate(91.925003,81.962997)"
         style="fill:#369724;fill-opacity:1;stroke:#000000;stroke-width:0.0815629;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1">
        <path
           style="fill:#369724;fill-opacity:1;stroke:#000000;stroke-width:0.0815629;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           d="M 7.78125,-6.59375 C 7.796875,-6.625 7.828125,-6.6875 7.828125,-6.734375 7.828125,-6.796875 7.8125,-6.8125 7.59375,-6.8125 H 0.703125 c -0.21875,0 -0.234375,0.015625 -0.234375,0.078125 0,0.046875 0.03125,0.109375 0.046875,0.140625 L 3.875,0.140625 c 0.078125,0.125 0.109375,0.1875 0.265625,0.1875 0.171875,0 0.203125,-0.0625 0.28125,-0.1875 z m -6.078125,0.5 h 5.46875 l -2.71875,5.484375 z m 0,0"
           id="path1671" />
      </g>
    </g>
    <g
       style="fill:#ca3b31;fill-opacity:1;stroke:#000000;stroke-width:0.0815629;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
       id="g2524"
       transform="matrix(4.9041912,0,0,4.9041912,-351.13084,-299.28325)">
      <g
         id="use4852"
         transform="translate(100.227,81.962997)"
         style="fill:#ca3b31;fill-opacity:1;stroke:#000000;stroke-width:0.0815629;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1">
        <path
           style="fill:#ca3b31;fill-opacity:1;stroke:#000000;stroke-width:0.0815629;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           d="m 3.65625,-3.984375 h 0.859375 c 0.203125,0 0.296875,0 0.296875,-0.203125 0,-0.109375 -0.09375,-0.109375 -0.265625,-0.109375 H 3.71875 L 3.921875,-5.4375 c 0.046875,-0.203125 0.1875,-0.90625 0.25,-1.03125 0.078125,-0.1875 0.25,-0.34375 0.46875,-0.34375 0.03125,0 0.296875,0 0.484375,0.1875 -0.4375,0.03125 -0.546875,0.390625 -0.546875,0.53125 0,0.234375 0.1875,0.359375 0.375,0.359375 C 5.21875,-5.734375 5.5,-5.96875 5.5,-6.34375 c 0,-0.453125 -0.453125,-0.6875 -0.859375,-0.6875 -0.34375,0 -0.96875,0.1875 -1.265625,1.171875 -0.0625,0.203125 -0.09375,0.3125 -0.328125,1.5625 h -0.6875 c -0.203125,0 -0.3125,0 -0.3125,0.1875 0,0.125 0.09375,0.125 0.28125,0.125 h 0.65625 L 2.25,-0.046875 c -0.1875,0.96875 -0.359375,1.875 -0.875,1.875 -0.046875,0 -0.28125,0 -0.484375,-0.1875 C 1.359375,1.609375 1.453125,1.25 1.453125,1.109375 1.453125,0.875 1.265625,0.75 1.078125,0.75 0.8125,0.75 0.53125,0.984375 0.53125,1.359375 c 0,0.4375 0.4375,0.6875 0.84375,0.6875 0.546875,0 0.953125,-0.59375 1.125,-0.96875 0.328125,-0.625 0.546875,-1.828125 0.5625,-1.90625 z m 0,0"
           id="path1675" />
      </g>
    </g>
    <path
       id="path846"
       style="fill:#9356b4;fill-opacity:1;stroke:#000000;stroke-width:0.4;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
       d="m 126.75911,107.60086 a 40.026866,40.026866 0 0 0 0.0187,-0.0103 L 108.9527,71.405207 73.037466,89.097181 a 40.026866,40.026866 0 0 0 0.127402,0.284432 40.026866,40.026866 0 0 0 53.594242,18.219247 z" />
    <path
       id="path1035"
       style="fill:#3d63d6;fill-opacity:1;stroke:#000000;stroke-width:0.4;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
       d="m 120.84018,95.571173 a 26.723452,28.321606 63.774977 0 0 0.0131,-0.0072 L 108.9527,71.405208 83.54034,83.923428 a 26.723452,28.321606 63.774977 0 0 0.08469,0.190077 26.723452,28.321606 63.774977 0 0 37.21523,11.457629 z" />
    <path
       id="path73089"
       style="fill:#369724;fill-opacity:1;stroke:#000000;stroke-width:0.4;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
       d="m 115.09572,83.89329 a 13.809697,14.635564 63.774977 0 0 0.007,-0.0037 L 108.9527,71.405208 95.82053,77.874164 a 13.809697,14.635564 63.774977 0 0 0.04376,0.09823 13.809697,14.635564 63.774977 0 0 19.23147,5.920881 z" />
    <path
       id="path64056"
       style="color:#000000;fill:#ca3b31;fill-opacity:1;stroke:#000000;stroke-width:0.4;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
       d="m 117.65952,47.880912 -8.87123,10.408896 c 1.44894,-0.399571 2.93687,-0.385342 4.31368,-0.0101 l -12.88534,34.693351 c -2.063025,-0.47409 -4.208733,0.648725 -4.960679,2.686906 -0.816216,2.212398 0.316869,4.670315 2.529267,5.486535 2.212396,0.81621 4.670832,-0.31686 5.487052,-2.529257 0.75541,-2.047567 -0.15937,-4.30532 -2.05363,-5.277441 l 12.89209,-34.712344 c 1.41242,0.59478 2.65279,1.592746 3.53419,2.929373 z"
       sodipodi:nodetypes="ccccssscccc" />
    <image
       width="50.270832"
       height="39.952084"
       preserveAspectRatio="none"
       xlink:href="data:image/png;base64,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
gg==
"
       id="image1760"
       x="-14.385302"
       y="34.848236" />
  </g>
</svg>

image

9 Likes

Yes, no problem - although there’s no maths constructions here, I wasn’t sure how to make it geometrically … :slight_smile:

code
using Luxor

function draw_leg(pos, rotation)
    pgon = Point[Point(102.0, -60.0), 
        Point(123.0, -96.0), 
        Point(-209.0, -96.0), 
        Point(-25.0, 229.0), 
        Point(20.0, 229.0), 
        Point(-147.0, -60.0)]
    @layer begin
        translate(pos)
        rotate(rotation)
        poly(pgon, :fillpreserve, close=true)
        sethue("gold")
        strokepath()
    end
end

@drawsvg begin
    setline(0.5)
    background(sethue("purple") .* 0.6 ...)
    for (n, θ) in enumerate(range(0, 2π - 2π/3, step=2π/3))
        sethue([Luxor.julia_red, Luxor.julia_purple, Luxor.julia_green][n])
        draw_leg(O, θ)
    end
end
8 Likes

Aother idea:

(I don’t like them too much, just throwing out ideas)

These ones I actually like:

image

another, with text:

image

and without text:

image

variants

8 Likes

What about a very slightly blended version of @cormullion’s logo, to boost the 3D feel?


12 Likes

Maybe something like this:

juliadifflogo

1 Like

A relativistic Julia gradient:
JuliaDiff_relativistic_gradient_animation

12 Likes

5 Likes

LOVE the impossible triangle type \nabla above!!

Why not use a Jj instead of Ff to emphasize julia?

I see that:

uses j and the rmgb dots, which is way cool!

Start with \delta j or \nabla J ?

\delta julia
julia \delta
julia_\delta
\delta ulia

\nabla Julia
Julia \Delta

\nabla J or any of the variants (with J not spelled out as Julia) looks like we are differentiating a Jacobian J and not a function f.

3 Likes

Since the nabla symbol and the Julia logo are both triangles (pointing in opposite directions) I think you could get something cool by juxtaposing them somehow.

e.g. you could put them side by side to make a parallelogram

e.g. you could overlay them to make a six pointed star

(On phone can’t demonstrate)

If we do this we’ll lose the meaning of \nabla, which should be a vertical triangle. Alternately we have to put the three dots on top and get a diamond?

I think this has religious connotations that we want to avoid in a logo?

I just meant something simple like this - but you know, fancier, with shadows and lens flare and not done in paint

3 Likes

I quite like this because it means “the derivative of Julia” - when many of the packages are precisely for taking derivatives of Julia code.

1 Like