VaKeR CYBER ARMY
Logo of a company Server : Apache/2.4.41 (Ubuntu)
System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64
User : www-data ( 33)
PHP Version : 7.4.33
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Directory :  /var/www/html/libs/demo/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /var/www/html/libs/demo/polygon.html
<html>

<head>
    <meta charset="UTF-8">
    <title>Polygon</title>
    <script src="../dist/absol.js?date=<?php  echo stat('../dist/absol.js')['mtime'];?>"></script>
</head>

<body>
<div id="wrapper">


</div>
<script>

    (function () {
        var Vec2 = absol.Vec2;
        var _ = absol._svg;
        var Rectangle = absol.Rectangle;
        var Polygon = absol.Polygon;
        var canvas = _({
            tag: 'svg',
            attr: {
                viewBox: '0 0 1000 640',
                width: '1000px',
                height: '640px'
            },
            style: {
                backgroundColor: 'rgb(250, 250, 250)'
            }
        }).addTo(document.body);

        var polygon = new Polygon(Array(5).fill(0).map((u, i) => new Vec2(500 + Math.random() * Math.cos(Math.PI / 5 * 2 * i) * 300,
            320 + Math.random() * Math.sin(Math.PI / 5 * 2 * i) * 300)));
        var polygonElt = _({
            tag: 'path',
            attr: {
                d: polygon.getPathString()
            },
            style: {
                fill: 'rgba(174,212,164,0.3)',
                stroke: 'black',

            }

        }).addTo(canvas);

        var cursor = _({
            tag: 'circle',
            attr: {
                cx: 0, cy: 0, r: 3
            },
            style: {
                fill: 'red'
            }
        }).addTo(canvas);


        document.addEventListener("mousemove", function (event) {
            var m = new Vec2(event.clientX, event.clientY);
            var cB = Rectangle.fromClientRect(canvas.getBoundingClientRect());
            m = m.sub(cB.A());
            cursor.attr({
                cx: m.x, cy: m.y
            });
            if (polygon.pointLocalIn(m) === 1) {
                polygonElt.addStyle('fill', 'rgba(255,51,120,0.3)')
            }
            else {
                polygonElt.addStyle('fill', 'rgba(174,212,164,0.3)')
            }
        })
    })();

</script>

</body>
</html>

VaKeR 2022