<ali1234>
<InPhase> ali1234: How did you even make hingeplate.stl? All the versions of OpenSCAD I tested with save 32-bit float based stl files, but your stl is marked with "Solid OpenSCAD Model" while having 64-bit double precision.
<ali1234>
i never saw this question but honestly i have no idea. it would have been either the snap, flatpak, or self-compiled version (built with defaults)
<ali1234>
i didn't do anything "weird" so i have no idea why it was 64 bit
<JordanBrown>
ASCII vs binary STL?
<JordanBrown>
I don't think binary STL can ever be 64-bit.
<ali1234>
i always export as ascii afaik
<JordanBrown>
Manifold might generate coordinates with more digits, because our CGAL support does coordinate snapping to a grid and Manifold doesn't.
<ali1234>
i have never actually looked at a raw stl file at this level so i have no idea
<JordanBrown>
What makes you think that one is 32-bit and the other is 64-bit?
<ali1234>
cos inphase said so
<ali1234>
the firt line i wrote is a quote
<JordanBrown>
Ah, I completely failed to understand the context. I'll let InPhase get back to you.
<ali1234>
it was several months ago and i missed the message entirely. i as just reviewing my log because i wanted to look up why tp said stl is bad
<ali1234>
and i found that instead
J25k99 has joined #openscad
J25k13 has quit [Ping timeout: 240 seconds]
kintel has joined #openscad
<kintel>
JordanBrown This is a nice little book which bridges the gap between complex numbers and geometry. Perhaps a bit more bottom-up than InPhase talks about, but I found it very revealing: https://en.wikipedia.org/wiki/Geometry_of_Complex_Numbers
<JordanBrown>
kintel: thanks
<JordanBrown>
ali1234: STL is bad for two primary reasons:
<JordanBrown>
- it has no provision for any sort of structure or auxiliary information, like colors or materials.
<JordanBrown>
- it has no provision for *geometric* structure, for describing how one triangle connects to the next.
<ali1234>
yeah, that's what tp said
<ali1234>
on the motivation for complex numbers: it boils down to being able to represent 2d vectors and rotations as single numbers. i was thinking a lot about this recently
<ali1234>
you no longer need x, y components for vectors and matrices for rotations. you can represent both as just xi + y
<ali1234>
i is literally a rotation by 90 degrees
<ali1234>
think of it like this: x * -1 = -x : this is equivalent to rotating by 180 degrees. what if you could rotate x by 90 degrees by multiplying it by some number? if you did it twice, it should be equivalent to multiplying by -1. this i = sqrt(-1) - because i*i should be a 180 degree rotation. all the rest of the complex plane stuff falls out of this idea
<ali1234>
in order for it all to work, you just label your y axis i instead
<ali1234>
then you can extend this very idea to 4 dimensions and you get quaternions (extending it to 3d is not possible because of algebraic reasons)
<kintel>
Also, the good old Mandelbrot formula: x = x^2 + c starts to make a lot more sense when considering complex numbers 2D constructs
<ali1234>
this idea of i as a rotation is also where e^i*pi = -1 come from. pi being 180 degrees.
<ali1234>
e^i*theta is how you get the complex number representing an arbitrary rotation by theta
<JordanBrown>
That makes sense, I guess, but so far my gut would still be happier treating it as [x,y].
<kintel>
ali1234 In terms of float vs. double STL export: We had a temporary regression around half a year ago related to this. We now serialize ascii STL as doubles: https://github.com/openscad/openscad/pull/5474
<ali1234>
[x,y] vectors are certainly a lot more intuitive but for example complex numbers are useful when you are dealing with anything that has a phase, such as two sine waves relative to each other. phase is kind of a rotation, but not an intuitive one, so it doesn't really make sense to handle it with vectors
<ali1234>
so for example you get "iq" samples in radio, which are complex numbers. this allows to preserve or shift the phase as necessary by just multiplying by a constant
<ali1234>
and obviously it is quite important that tx and rx are in phase with each other
mmu_man has quit [Ping timeout: 265 seconds]
kintel has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
snakedGT has joined #openscad
snaked has quit [Ping timeout: 252 seconds]
stealth_ has quit [Quit: Leaving]
hyperair has quit [Ping timeout: 252 seconds]
hyperair has joined #openscad
hyperair has quit [Ping timeout: 268 seconds]
hyperair has joined #openscad
hyperair has quit [Ping timeout: 245 seconds]
JordanBrown has quit [Ping timeout: 276 seconds]
howiemnt has quit [Remote host closed the connection]
Guest has quit [Write error: Connection reset by peer]
Guest76 has joined #openscad
Guest76 has quit [Client Quit]
<InPhase>
ali1234: I didn't even remember saying that, but a "locate hingeplate.stl" revealed a copy of this from January still in my temp files. And what I was referring to I see immediately upon opening it. e.g. line 2: facet normal -0.026808643172379375 -0.9145629821516558 0.4035540215747156
<InPhase>
I just was referring to the fact that it saved ascii stl with 16 digits, which is double precision, whereas openscad usually dumps ascii stl with 32-bit float precision (~7 digits).
<InPhase>
Yeah, just made it down the scrollback to kintel's comment like right now. :)
<InPhase>
I guess we might have been discussing it right around that roll-out period. Perhaps I hadn't recompiled in 2 months, whereas you were using the nightly.
<InPhase>
And I didn't notice that PR, as I was preoccupied that month.