|
102 | 102 | {
|
103 | 103 | "data": {
|
104 | 104 | "text/plain": [
|
105 |
| - "[1.0, 2.0, 3.0]" |
| 105 | + "[1, 2, 3]" |
106 | 106 | ]
|
107 | 107 | },
|
108 | 108 | "execution_count": 3,
|
|
172 | 172 | {
|
173 | 173 | "data": {
|
174 | 174 | "text/plain": [
|
175 |
| - "[[3, 3, 3],\n", |
176 |
| - " [2, 2, 2],\n", |
177 |
| - " [3, 3, 3]]" |
| 175 | + "Transform[\n", |
| 176 | + " matrix=[[3, 3, 3],\n", |
| 177 | + " [2, 2, 2],\n", |
| 178 | + " [3, 3, 3]],\n", |
| 179 | + " inverse_transpose=[[-nan, -nan, -nan],\n", |
| 180 | + " [-nan, -nan, -nan],\n", |
| 181 | + " [-nan, -nan, -nan]]\n", |
| 182 | + "]" |
178 | 183 | ]
|
179 | 184 | },
|
180 | 185 | "execution_count": 4,
|
|
241 | 246 | {
|
242 | 247 | "data": {
|
243 | 248 | "text/plain": [
|
244 |
| - "[[1, 0, 0, 10],\n", |
245 |
| - " [0, 1, 0, 20],\n", |
246 |
| - " [0, 0, 1, 30],\n", |
247 |
| - " [0, 0, 0, 1]]" |
| 249 | + "Transform[\n", |
| 250 | + " matrix=[[1, 0, 0, 10],\n", |
| 251 | + " [0, 1, 0, 20],\n", |
| 252 | + " [0, 0, 1, 30],\n", |
| 253 | + " [0, 0, 0, 1]],\n", |
| 254 | + " inverse_transpose=[[1, 0, 0, 0],\n", |
| 255 | + " [0, 1, 0, 0],\n", |
| 256 | + " [0, 0, 1, 0],\n", |
| 257 | + " [-10, -20, -30, 1]]\n", |
| 258 | + "]" |
248 | 259 | ]
|
249 | 260 | },
|
250 | 261 | "execution_count": 5,
|
|
253 | 264 | }
|
254 | 265 | ],
|
255 | 266 | "source": [
|
256 |
| - "mi.Transform4f.translate([10, 20, 30])" |
| 267 | + "mi.Transform4f().translate([10, 20, 30])" |
257 | 268 | ]
|
258 | 269 | },
|
259 | 270 | {
|
|
271 | 282 | {
|
272 | 283 | "data": {
|
273 | 284 | "text/plain": [
|
274 |
| - "[[10, 0, 0, 0],\n", |
275 |
| - " [0, 20, 0, 0],\n", |
276 |
| - " [0, 0, 30, 0],\n", |
277 |
| - " [0, 0, 0, 1]]" |
| 285 | + "Transform[\n", |
| 286 | + " matrix=[[10, 0, 0, 0],\n", |
| 287 | + " [0, 20, 0, 0],\n", |
| 288 | + " [0, 0, 30, 0],\n", |
| 289 | + " [0, 0, 0, 1]],\n", |
| 290 | + " inverse_transpose=[[0.1, 0, 0, 0],\n", |
| 291 | + " [0, 0.05, 0, 0],\n", |
| 292 | + " [0, 0, 0.0333333, 0],\n", |
| 293 | + " [0, 0, 0, 1]]\n", |
| 294 | + "]" |
278 | 295 | ]
|
279 | 296 | },
|
280 | 297 | "execution_count": 6,
|
|
283 | 300 | }
|
284 | 301 | ],
|
285 | 302 | "source": [
|
286 |
| - "mi.Transform4f.scale([10, 20, 30])" |
| 303 | + "mi.Transform4f().scale([10, 20, 30])" |
287 | 304 | ]
|
288 | 305 | },
|
289 | 306 | {
|
|
301 | 318 | {
|
302 | 319 | "data": {
|
303 | 320 | "text/plain": [
|
304 |
| - "[[-4.37114e-08, 0, 1, 0],\n", |
305 |
| - " [0, 1, 0, 0],\n", |
306 |
| - " [-1, 0, -4.37114e-08, 0],\n", |
307 |
| - " [0, 0, 0, 1]]" |
| 321 | + "Transform[\n", |
| 322 | + " matrix=[[-4.37114e-08, 0, 1, 0],\n", |
| 323 | + " [0, 1, 0, 0],\n", |
| 324 | + " [-1, 0, -4.37114e-08, 0],\n", |
| 325 | + " [0, 0, 0, 1]],\n", |
| 326 | + " inverse_transpose=[[-4.37114e-08, 0, 1, 0],\n", |
| 327 | + " [0, 1, 0, 0],\n", |
| 328 | + " [-1, 0, -4.37114e-08, 0],\n", |
| 329 | + " [0, 0, 0, 1]]\n", |
| 330 | + "]" |
308 | 331 | ]
|
309 | 332 | },
|
310 | 333 | "execution_count": 7,
|
|
313 | 336 | }
|
314 | 337 | ],
|
315 | 338 | "source": [
|
316 |
| - "mi.Transform4f.rotate(axis=[0, 1, 0], angle=90)" |
| 339 | + "mi.Transform4f().rotate(axis=[0, 1, 0], angle=90)" |
317 | 340 | ]
|
318 | 341 | },
|
319 | 342 | {
|
|
331 | 354 | {
|
332 | 355 | "data": {
|
333 | 356 | "text/plain": [
|
334 |
| - "[[-1, 0, 0, 0],\n", |
335 |
| - " [0, 1, 0, 0],\n", |
336 |
| - " [0, 0, -1, 2],\n", |
337 |
| - " [0, 0, 0, 1]]" |
| 357 | + "Transform[\n", |
| 358 | + " matrix=[[-1, 0, 0, 0],\n", |
| 359 | + " [0, 1, 0, 0],\n", |
| 360 | + " [0, 0, -1, 2],\n", |
| 361 | + " [0, 0, 0, 1]],\n", |
| 362 | + " inverse_transpose=[[-1, 0, 0, 0],\n", |
| 363 | + " [0, 1, 0, 0],\n", |
| 364 | + " [0, 0, -1, 0],\n", |
| 365 | + " [0, 0, 2, 1]]\n", |
| 366 | + "]" |
338 | 367 | ]
|
339 | 368 | },
|
340 | 369 | "execution_count": 8,
|
|
343 | 372 | }
|
344 | 373 | ],
|
345 | 374 | "source": [
|
346 |
| - "mi.Transform4f.look_at(origin=[0, 0, 2], target=[0, 0, 0], up=[0, 1, 0])" |
| 375 | + "mi.Transform4f().look_at(origin=[0, 0, 2], target=[0, 0, 0], up=[0, 1, 0])" |
347 | 376 | ]
|
348 | 377 | },
|
349 | 378 | {
|
|
371 | 400 | "name": "stdout",
|
372 | 401 | "output_type": "stream",
|
373 | 402 | "text": [
|
374 |
| - "[[1, 0, 0, 0],\n", |
375 |
| - " [0, 1, 0, 0],\n", |
376 |
| - " [0, 0, 1.0101, -0.10101],\n", |
377 |
| - " [0, 0, 1, 0]]\n" |
| 403 | + "Transform[\n", |
| 404 | + " matrix=[[1, 0, 0, 0],\n", |
| 405 | + " [0, 1, 0, 0],\n", |
| 406 | + " [0, 0, 1.0101, -0.10101],\n", |
| 407 | + " [0, 0, 1, 0]],\n", |
| 408 | + " inverse_transpose=[[1, 0, 0, 0],\n", |
| 409 | + " [0, 1, 0, 0],\n", |
| 410 | + " [0, 0, 0, -9.9],\n", |
| 411 | + " [0, 0, 1, 10]]\n", |
| 412 | + "]\n" |
378 | 413 | ]
|
379 | 414 | },
|
380 | 415 | {
|
381 | 416 | "data": {
|
382 | 417 | "text/plain": [
|
383 |
| - "[0.9999998807907104, -0.9999998807907104, 0.9595960378646851]" |
| 418 | + "[1, -1, 0.959596]" |
384 | 419 | ]
|
385 | 420 | },
|
386 | 421 | "execution_count": 9,
|
|
389 | 424 | }
|
390 | 425 | ],
|
391 | 426 | "source": [
|
392 |
| - "trafo = mi.Transform4f.perspective(fov=90, near=0.1, far=10)\n", |
| 427 | + "trafo = mi.Transform4f().perspective(fov=90, near=0.1, far=10)\n", |
393 | 428 | "print(trafo)\n",
|
394 | 429 | "trafo @ mi.Point3f(2, -2, 2)"
|
395 | 430 | ]
|
|
417 | 452 | "name": "stdout",
|
418 | 453 | "output_type": "stream",
|
419 | 454 | "text": [
|
420 |
| - "[[1, 0, 0, 0],\n", |
421 |
| - " [0, 1, 0, 0],\n", |
422 |
| - " [0, 0, 0.10101, -0.010101],\n", |
423 |
| - " [0, 0, 0, 1]]\n" |
| 455 | + "Transform[\n", |
| 456 | + " matrix=[[1, 0, 0, 0],\n", |
| 457 | + " [0, 1, 0, 0],\n", |
| 458 | + " [0, 0, 0.10101, -0.010101],\n", |
| 459 | + " [0, 0, 0, 1]],\n", |
| 460 | + " inverse_transpose=[[1, 0, 0, 0],\n", |
| 461 | + " [0, 1, 0, 0],\n", |
| 462 | + " [0, 0, 9.9, 0],\n", |
| 463 | + " [0, 0, 0.1, 1]]\n", |
| 464 | + "]\n" |
424 | 465 | ]
|
425 | 466 | },
|
426 | 467 | {
|
427 | 468 | "data": {
|
428 | 469 | "text/plain": [
|
429 |
| - "[1.0, 2.0, 0.2929292917251587]" |
| 470 | + "[1, 2, 0.292929]" |
430 | 471 | ]
|
431 | 472 | },
|
432 | 473 | "execution_count": 10,
|
|
435 | 476 | }
|
436 | 477 | ],
|
437 | 478 | "source": [
|
438 |
| - "trafo = mi.Transform4f.orthographic(near=0.1, far=10)\n", |
| 479 | + "trafo = mi.Transform4f().orthographic(near=0.1, far=10)\n", |
439 | 480 | "print(trafo)\n",
|
440 | 481 | "trafo @ mi.Point3f(1, 2, 3)"
|
441 | 482 | ]
|
|
452 | 493 | " \n",
|
453 | 494 | "</div>\n",
|
454 | 495 | "\n",
|
455 |
| - "`mi.Transform4f.to_frame(frame)` is the matrix representation of the function `frame.to_local()`" |
| 496 | + "`mi.Transform4f().to_frame(frame)` is the matrix representation of the function `frame.to_local()`" |
456 | 497 | ]
|
457 | 498 | },
|
458 | 499 | {
|
|
463 | 504 | {
|
464 | 505 | "data": {
|
465 | 506 | "text/plain": [
|
466 |
| - "[[0, 0, 3, 0],\n", |
467 |
| - " [0, 2, 0, 0],\n", |
468 |
| - " [1, 0, 0, 0],\n", |
469 |
| - " [0, 0, 0, 1]]" |
| 507 | + "Transform[\n", |
| 508 | + " matrix=[[0, 0, 3, 0],\n", |
| 509 | + " [0, 2, 0, 0],\n", |
| 510 | + " [1, 0, 0, 0],\n", |
| 511 | + " [0, 0, 0, 1]],\n", |
| 512 | + " inverse_transpose=[[0, 0, 3, 0],\n", |
| 513 | + " [0, 2, 0, 0],\n", |
| 514 | + " [1, 0, 0, 0],\n", |
| 515 | + " [0, 0, 0, 1]]\n", |
| 516 | + "]" |
470 | 517 | ]
|
471 | 518 | },
|
472 | 519 | "execution_count": 11,
|
|
480 | 527 | " [0, 2, 0],\n",
|
481 | 528 | " [3, 0, 0],\n",
|
482 | 529 | ")\n",
|
483 |
| - "mi.Transform4f.to_frame(frame)" |
| 530 | + "mi.Transform4f().to_frame(frame)" |
484 | 531 | ]
|
485 | 532 | },
|
486 | 533 | {
|
|
507 | 554 | "name": "stdout",
|
508 | 555 | "output_type": "stream",
|
509 | 556 | "text": [
|
510 |
| - "t @ v=[3.0, 8.0, 15.0]\n", |
511 |
| - "t @ p=[3.0, 9.0, 17.0]\n", |
512 |
| - "t @ n=[1.0, 0.0, 0.0]\n" |
| 557 | + "t @ v=[3, 8, 15]\n", |
| 558 | + "t @ p=[3, 9, 17]\n", |
| 559 | + "t @ n=[1, 0, 0]\n" |
513 | 560 | ]
|
514 | 561 | }
|
515 | 562 | ],
|
516 | 563 | "source": [
|
517 |
| - "t = mi.Transform4f.translate([0, 1, 2])\n", |
518 |
| - "t = t @ mi.Transform4f.scale([1, 2, 3])\n", |
| 564 | + "t = mi.Transform4f().translate([0, 1, 2])\n", |
| 565 | + "t = t @ mi.Transform4f().scale([1, 2, 3])\n", |
519 | 566 | "v = mi.Vector3f([3, 4, 5])\n",
|
520 | 567 | "p = mi.Point3f([3, 4, 5])\n",
|
521 | 568 | "n = mi.Normal3f([1, 0, 0])\n",
|
|
547 | 594 | "name": "stdout",
|
548 | 595 | "output_type": "stream",
|
549 | 596 | "text": [
|
550 |
| - "[6.0, 2.0, 2.0]\n" |
| 597 | + "[6, 2, 2]\n" |
551 | 598 | ]
|
552 | 599 | }
|
553 | 600 | ],
|
554 | 601 | "source": [
|
555 |
| - "S = mi.Transform4f.scale(2.0)\n", |
556 |
| - "T = mi.Transform4f.translate([4, 0, 0])\n", |
| 602 | + "S = mi.Transform4f().scale(2.0)\n", |
| 603 | + "T = mi.Transform4f().translate([4, 0, 0])\n", |
557 | 604 | "v = mi.Point3f([1, 1, 1])\n",
|
558 | 605 | "\n",
|
559 | 606 | "trasfo = T @ S\n",
|
|
580 | 627 | {
|
581 | 628 | "data": {
|
582 | 629 | "text/plain": [
|
583 |
| - "[[2, 0, 0, 2],\n", |
584 |
| - " [0, 2, 0, 0],\n", |
585 |
| - " [0, 0, 2, 0],\n", |
586 |
| - " [0, 0, 0, 1]]" |
| 630 | + "Transform[\n", |
| 631 | + " matrix=[[2, 0, 0, 2],\n", |
| 632 | + " [0, 2, 0, 0],\n", |
| 633 | + " [0, 0, 2, 0],\n", |
| 634 | + " [0, 0, 0, 1]],\n", |
| 635 | + " inverse_transpose=[[0.5, 0, 0, 0],\n", |
| 636 | + " [0, 0.5, 0, 0],\n", |
| 637 | + " [0, 0, 0.5, 0],\n", |
| 638 | + " [-1, 0, 0, 1]]\n", |
| 639 | + "]" |
587 | 640 | ]
|
588 | 641 | },
|
589 | 642 | "execution_count": 14,
|
|
592 | 645 | }
|
593 | 646 | ],
|
594 | 647 | "source": [
|
595 |
| - "mi.Transform4f.scale(2.0).translate([1, 0, 0])" |
| 648 | + "mi.Transform4f().scale(2.0).translate([1, 0, 0])" |
596 | 649 | ]
|
597 | 650 | },
|
598 | 651 | {
|
|
612 | 665 | {
|
613 | 666 | "data": {
|
614 | 667 | "text/plain": [
|
615 |
| - "[[2, 0, 0, 2],\n", |
616 |
| - " [0, 2, 0, 0],\n", |
617 |
| - " [0, 0, 2, 0],\n", |
618 |
| - " [0, 0, 0, 1]]" |
| 668 | + "Transform[\n", |
| 669 | + " matrix=[[2, 0, 0, 2],\n", |
| 670 | + " [0, 2, 0, 0],\n", |
| 671 | + " [0, 0, 2, 0],\n", |
| 672 | + " [0, 0, 0, 1]],\n", |
| 673 | + " inverse_transpose=[[0.5, 0, 0, 0],\n", |
| 674 | + " [0, 0.5, 0, 0],\n", |
| 675 | + " [0, 0, 0.5, 0],\n", |
| 676 | + " [-1, 0, 0, 1]]\n", |
| 677 | + "]" |
619 | 678 | ]
|
620 | 679 | },
|
621 | 680 | "execution_count": 15,
|
|
624 | 683 | }
|
625 | 684 | ],
|
626 | 685 | "source": [
|
627 |
| - "mi.Transform4f.scale(2.0) @ mi.Transform4f.translate([1, 0, 0])" |
| 686 | + "mi.Transform4f().scale(2.0) @ mi.Transform4f().translate([1, 0, 0])" |
628 | 687 | ]
|
629 | 688 | }
|
630 | 689 | ],
|
|
647 | 706 | "name": "python",
|
648 | 707 | "nbconvert_exporter": "python",
|
649 | 708 | "pygments_lexer": "ipython3",
|
650 |
| - "version": "3.9.13" |
| 709 | + "version": "3.10.12" |
651 | 710 | }
|
652 | 711 | },
|
653 | 712 | "nbformat": 4,
|
|
0 commit comments