Time |
Nick |
Message |
00:28 |
|
Cornelia joined #minetest-dev |
01:41 |
|
T4im joined #minetest-dev |
01:55 |
|
indiana joined #minetest-dev |
01:55 |
|
deezl joined #minetest-dev |
02:10 |
|
tacotexmex joined #minetest-dev |
02:13 |
|
MayeulC joined #minetest-dev |
02:27 |
|
kollaps[m] joined #minetest-dev |
02:45 |
|
Hijiri joined #minetest-dev |
02:45 |
|
thePalin- joined #minetest-dev |
02:45 |
|
bobby joined #minetest-dev |
02:45 |
|
cheapie joined #minetest-dev |
02:56 |
p_gimeno |
@DS-Minetest, I think I see what happens. We're using opposite matrix conventions. I'm using row vectors (because Irrlicht does too, see http://irrlicht.sourceforge.net/docu/classirr_1_1core_1_1_c_matrix4.html#details) and you're using column vectors. We're transposed with respect to each other :) |
02:58 |
p_gimeno |
Irrlicht weirdness should probably not be exposed to users where it can be avoided, so I like your convention better. |
05:55 |
ANAND |
Super trivial #8526 |
05:55 |
ShadowBot |
https://github.com/minetest/minetest/issues/8526 -- Move HTTP request logging to infostream by ClobberXD |
06:20 |
|
fwhcat joined #minetest-dev |
08:07 |
|
Fritigern joined #minetest-dev |
09:06 |
|
tomraceror joined #minetest-dev |
09:45 |
|
Fixer joined #minetest-dev |
10:06 |
|
ensonic joined #minetest-dev |
11:04 |
p_gimeno |
re #8521, Second Life works this way: when a logged in user user logs in again, the old user is disconnected. It's used pretty often actually, and quite useful. |
11:04 |
ShadowBot |
https://github.com/minetest/minetest/issues/8521 -- Kick player when another user who knows the password joins |
11:05 |
tomraceror |
hello? |
11:05 |
tomraceror |
someone can help me? |
11:06 |
tomraceror |
with gimp? |
11:06 |
p_gimeno |
tomraceror: wrong channel, this is for minetest development only |
11:07 |
tomraceror |
ah |
11:27 |
tomraceror |
i have idea for a minetest function,maybe for multyplayer a cmd: |
11:28 |
tomraceror |
/setinfo (text (about the player)) |
11:28 |
ShadowBot |
https://github.com/minetest/minetest_game/issues/330 -- Vessels : new textures by kilbith |
11:28 |
tomraceror |
and other players can see with /seeinfo (playername) the text |
11:29 |
Thomas-S |
tomraceror: It seems like your suggestion is a mod request. Please post it in a more appropriate channel, e.g. #minetest. |
11:30 |
tomraceror |
ok |
11:30 |
|
tomraceror left #minetest-dev |
11:34 |
|
Beton joined #minetest-dev |
11:42 |
|
ensonic joined #minetest-dev |
14:26 |
|
tomraceror joined #minetest-dev |
14:26 |
|
tomraceror left #minetest-dev |
14:46 |
|
calcul0n joined #minetest-dev |
14:46 |
|
turtleman joined #minetest-dev |
15:54 |
p_gimeno |
@DS-Minetest, problem is the order of multiplications. Row vectors and column vectors are the transpose of each other, and since A^T*B^T = (B*A)^T, when you deal with row vector matrices, you have to right-multiply the matrices instead of left-multiply. So for ZXY order it's Z*X*Y and not Y*X*Z as in normal convention. |
16:04 |
|
tomraceror joined #minetest-dev |
16:08 |
p_gimeno |
I've just looked at your special casing. Values that return 1 don't need to be included. See https://notabug.org/pgimeno/Gists/src/sin-cos-precise |
16:11 |
|
paramat joined #minetest-dev |
16:48 |
paramat |
please can anyone approve my mapgen PRs? #8473 #8481 , well tested so you don't need to, and it's mapgen so you can partly trust me =) |
16:48 |
ShadowBot |
https://github.com/minetest/minetest/issues/8473 -- Dungeons: Settable density noise, move number calculation to mapgens by paramat |
16:48 |
ShadowBot |
https://github.com/minetest/minetest/issues/8481 -- Allow multiple cave liquids in a biome definition by paramat |
16:52 |
paramat |
input needed on what to do for #8249 |
16:52 |
ShadowBot |
https://github.com/minetest/minetest/issues/8249 -- Make autoforward simulate keys by DS-Minetest |
16:52 |
paramat |
merging #8526 |
16:52 |
ShadowBot |
https://github.com/minetest/minetest/issues/8526 -- Move HTTP request logging to infostream by ClobberXD |
16:58 |
p_gimeno |
@DS-Minetest: by the way, don't worry about quaternions yet, let's get matrices right first |
17:02 |
paramat |
merging #8519 |
17:02 |
ShadowBot |
https://github.com/minetest/minetest/issues/8519 -- Revert e6a9e60 by ClobberXD |
17:08 |
p_gimeno |
@DS-Minetest: Please call the functions from_pitch_yaw_roll and to_pitch_yaw_roll instead, because X corresponds to pitch, Y corresponds to yaw and Z corresponds to roll, so I think it will cause less confusion that way |
17:10 |
p_gimeno |
re 3x3 vs 4x4, I think 3x3 is OK, but I'd suggest adding something in the name that indicates the matrix size it deals with, e.g. call the table matrix3 instead of matrix |
17:10 |
p_gimeno |
that will simplify adding a 4x4 one in future |
17:13 |
p_gimeno |
I don't think matrix.floor and matrix.round are necessary. You can always use matrix.apply(m, math.floor). For matrix.round, I'd say, implement math.round instead so that it can be used in matrix.apply. |
17:14 |
|
ensonic joined #minetest-dev |
17:18 |
p_gimeno |
Since you're adding vector.dot, please add vector.cross too as it will be necessary as well. Keep handedness in mind for vector.cross. |
17:19 |
p_gimeno |
Maybe we can talk via email instead? My email is in my homepage, http://www.formauri.es/personal/pgimeno/ |
17:21 |
|
tomraceror joined #minetest-dev |
17:28 |
|
ensonic joined #minetest-dev |
17:28 |
|
ANAND_ joined #minetest-dev |
17:33 |
|
Lia joined #minetest-dev |
17:40 |
|
ensonic joined #minetest-dev |
17:52 |
|
DS-minetest joined #minetest-dev |
17:54 |
p_gimeno |
hey :) |
17:54 |
DS-minetest |
>I've just looked at your special casing. Values that return 1 don't need to be included. |
17:54 |
DS-minetest |
why? |
17:55 |
p_gimeno |
because there's enough precision for them to be accurate |
17:55 |
DS-minetest |
and hello : ) I haven't used irc for months |
17:56 |
p_gimeno |
>>> cos(317*pi) |
17:56 |
p_gimeno |
-1.0 |
17:56 |
DS-minetest |
but if you rotate around multiples of pi and want to compare two matrices, this is needed |
17:56 |
DS-minetest |
oh |
17:56 |
p_gimeno |
it's exactly 1 already |
17:57 |
p_gimeno |
the problem happens near 0 because the closer to 0 you are, the more precision you have |
17:57 |
|
ANAND joined #minetest-dev |
17:58 |
DS-minetest |
you are right |
17:58 |
DS-minetest |
I'll change it |
17:58 |
p_gimeno |
thanks |
17:58 |
DS-minetest |
thanks to you |
18:09 |
|
Taoki joined #minetest-dev |
18:10 |
DS-minetest |
btw. if you add a function to existing code or documentation, is there any rule on how they are sorted? |
18:12 |
p_gimeno |
I don't think there is |
18:12 |
DS-minetest |
should i rename core.facedir_to_matrix to core.facedir_to_matrix3 to? |
18:13 |
DS-minetest |
,too* |
18:13 |
p_gimeno |
I think so, yeah |
18:14 |
tomraceror |
hey,what are you addding to mintest or changing? |
18:14 |
p_gimeno |
maybe mat3 instead of matrix3 everywhere, for brevity? I was thinking of that |
18:14 |
tomraceror |
i mean with hey = hi not angry :p |
18:15 |
p_gimeno |
tomraceror: DS-minetest is working on a matrix library, see #8515 |
18:15 |
ShadowBot |
https://github.com/minetest/minetest/issues/8515 -- Add matrix helpers to builtin by DS-Minetest |
18:15 |
tomraceror |
cool |
18:15 |
tomraceror |
but the windows user cant use matrix ... |
18:16 |
DS-minetest |
mat could also stand for mattress |
18:16 |
p_gimeno |
lol |
18:16 |
p_gimeno |
ok, matrix3 |
18:18 |
p_gimeno |
also, the matrix global is claimed by a mod, it wouldn't be too nice to override it https://forum.minetest.net/viewtopic.php?f=11&t=20329 |
18:20 |
|
Cornelia joined #minetest-dev |
18:21 |
DS-minetest |
ooh, and there's an issue for my pr |
18:31 |
DS-minetest |
p_gimeno: did I forget a comment from you? |
18:32 |
DS-minetest |
I don't actually know what you mean with right-multiply or left-multiply |
18:33 |
|
calcul0n joined #minetest-dev |
18:39 |
p_gimeno |
DS-minetest: never mind, I was referring to the ZXY vs YXZ from Wikipedia |
18:40 |
DS-minetest |
ok |
18:41 |
|
Taoki[laptop] joined #minetest-dev |
18:42 |
p_gimeno |
in Irrlicht, to rotate a row vector V first by A and then by B you multiply V * A * B. Wikipedia uses the normal convention, and you multiply B * A * V where V is a column vector. |
18:43 |
p_gimeno |
that's all I meant |
18:43 |
DS-minetest |
ah |
18:44 |
DS-minetest |
because you still need A to have as many columns as B has rows if you do A*B |
18:46 |
p_gimeno |
just another consequence of Irrlicht's upside-down conventions |
18:47 |
p_gimeno |
unconventional conventions, dare I say |
18:47 |
DS-minetest |
maybe I should use a completely new convention in my PR to cause even more confusion, we need more conventions! *irony off now* |
18:48 |
p_gimeno |
yeah! <insert mandatory XKCD reference here> |
18:50 |
|
proller joined #minetest-dev |
18:50 |
DS-minetest |
actually, I got the method that I used before to make matrix to euler via the wheel method: https://www.xkcd.com/2140/ |
18:51 |
p_gimeno |
heheh |
18:55 |
|
tomraceror joined #minetest-dev |
19:45 |
p_gimeno |
DS-minetest: what about the signs of the cross product? should they be inverted, since this is a left-handed coordinate system? |
19:46 |
DS-minetest |
Uh, I have never thought of this |
19:47 |
DS-minetest |
so probably the crossproduct vector is now left handed to the input vectors |
19:49 |
DS-minetest |
ok, wikipedia says that it is defined as right handed, I'll invert |
19:50 |
p_gimeno |
I'd vote for keeping it right-handed, there are things that are already broken anyway |
19:51 |
DS-minetest |
done |
19:51 |
|
proller joined #minetest-dev |
19:52 |
p_gimeno |
really, left-handed coordinate systems suck |
19:53 |
tomraceror |
bye |
19:53 |
tomraceror |
good nighth! |
19:54 |
|
tomraceror left #minetest-dev |
19:55 |
p_gimeno |
oh typo, the transposed of -> the transpose of |
19:55 |
DS-minetest |
ok |
19:55 |
p_gimeno |
(twice) |
19:56 |
DS-minetest |
i'm not a native english speaker |
19:57 |
p_gimeno |
me neither |
19:57 |
DS-minetest |
done |
19:58 |
p_gimeno |
hmm, I'm pondering how necessary it is to have a matrix3.inverse() |
19:59 |
p_gimeno |
since they are mostly rotation matrices, it's possible that transposing suffices |
19:59 |
DS-minetest |
yes, i wanted to add this but i havent found an easy way to get it in wikipedia |
19:59 |
p_gimeno |
I have one somewhere, one sec |
20:01 |
p_gimeno |
anyway, since they are going to be usually rotation matrices, transposing them also inverts them |
20:01 |
p_gimeno |
that's why I'm pondering |
20:05 |
p_gimeno |
https://notabug.org/pgimeno/Gists/src/mat3-det-and-invert |
20:05 |
DS-minetest |
should I just copy both functions? |
20:06 |
p_gimeno |
no I don't think so, you can copy the determinant one but the inverse one will need a bit of work |
20:07 |
p_gimeno |
first, to decide what to do when the determinant is zero; my interface for that one used (dest, source) and only modified dest when the determinant was not zero |
20:07 |
p_gimeno |
the interface probably needs to be changed too |
20:08 |
|
calcul0n joined #minetest-dev |
20:08 |
p_gimeno |
maybe return true, <matrix> if it's invertible, and false, "Matrix can't be inverted" if not |
20:08 |
DS-minetest |
ok |
20:08 |
p_gimeno |
hm |
20:09 |
p_gimeno |
or just <matrix> if it's invertible, and false if not |
20:09 |
p_gimeno |
that's simpler, simpler is good |
20:10 |
DS-minetest |
yes, this is probably better as tables are true values |
20:10 |
p_gimeno |
yeah, you can still do: b = assert(matrix3.invert(a)) |
20:12 |
DS-minetest |
the first few lines can be replaced with "det = det_mat3(a)", right? |
20:14 |
p_gimeno |
no because it calculates variables that it reuses later |
20:14 |
DS-minetest |
oh |
20:20 |
DS-minetest |
done: https://github.com/minetest/minetest/pull/8515/commits/79d404fbcba3f69cb63ac14ae30e57ac1e5e61b4 |
20:22 |
p_gimeno |
:+1: |
20:23 |
DS-minetest |
:D |
20:26 |
DS-minetest |
there are still at least two questions left: |
20:26 |
DS-minetest |
1: should the rotation matrices given by the functions be counterclockwise (righthanded) |
20:26 |
|
paramat joined #minetest-dev |
20:27 |
DS-minetest |
2: should the functions need degrees instead of radians? |
20:27 |
p_gimeno |
2: radians please, pretty pretty please |
20:27 |
p_gimeno |
1: if you want to keep your sanity, I recommend leaving them as is |
20:27 |
DS-minetest |
I could of course add both |
20:28 |
p_gimeno |
probably the cross product should be right handed too |
20:28 |
DS-minetest |
it is |
20:29 |
paramat |
yes radians please |
20:29 |
DS-minetest |
(1,0,0)x(0,1,0) now gives (0,0,-1) which is righthanded |
20:30 |
DS-minetest |
(it would be lefthanded like this in a righthanded system, that's why it's righthanded) |
20:30 |
p_gimeno |
oh, rounding_precision and the local function round() are now only used inside a commented out section |
20:32 |
DS-minetest |
it's now commented out, too |
20:32 |
p_gimeno |
woot |
20:34 |
p_gimeno |
one last thing, matrix3_1p_1n_0_hash can be done with just the first 6 elements, you don't need all 9 |
20:34 |
DS-minetest |
might there be copyrightial problems with the fact that some things like rotation matrices for specific angles were taken from other sources like wikipedia? |
20:35 |
DS-minetest |
are you sure? |
20:35 |
p_gimeno |
first question: no, second question: yes |
20:36 |
p_gimeno |
https://github.com/entuland/rhotator/commit/c7e288dbe3cd663d31f965e1bd06f8e9d0ef1fb1 |
20:36 |
DS-minetest |
ok |
20:37 |
p_gimeno |
if minetest allowed mirroring nodes, then you'd need all 9 elements, but without it, the third one is redundant (it can be calculated from the other two using a cross product) |
20:37 |
DS-minetest |
and should wrong values like -0.5 or 3 be handled? |
20:37 |
p_gimeno |
no I don't think so |
20:37 |
p_gimeno |
for those, a wrong answer is an appropriate answer |
20:38 |
p_gimeno |
core devs may disagree |
20:39 |
DS-minetest |
done |
20:40 |
DS-minetest |
matrix3_to_wallmounted could be implemented faster |
20:40 |
DS-minetest |
by using another table |
20:41 |
p_gimeno |
yeah, maybe it's not a bad idea |
20:44 |
p_gimeno |
I need to be AFK for a while |
20:45 |
DS-minetest |
ok |
20:49 |
paramat |
"a wrong answer is an appropriate answer" i agree, keeps it simple too |
20:50 |
DS-minetest |
now I use table.indexof in matrix3_to_wallmounted |
20:52 |
p_gimeno |
have you tested it? |
20:53 |
DS-minetest |
no |
20:53 |
p_gimeno |
hm, it should probably work, I just haven't looked into how indexof works |
20:54 |
p_gimeno |
anyway, AFK for real now |
21:22 |
|
Cornelia joined #minetest-dev |
21:25 |
|
Cornelia joined #minetest-dev |
21:37 |
|
Lia joined #minetest-dev |
22:02 |
DS-minetest |
no |
22:03 |
DS-minetest |
oops, sorry |
22:03 |
|
DS-minetest left #minetest-dev |
22:41 |
|
BuckarooBanzai joined #minetest-dev |
22:49 |
|
Fixer_ joined #minetest-dev |
23:14 |
|
indiana joined #minetest-dev |
23:29 |
|
turtleman joined #minetest-dev |