From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,DKIM_VALID,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE, URIBL_ZEN_BLOCKED_OPENDNS autolearn=ham autolearn_force=no version=3.4.4 Received: from txout-a2-smtp.messagingengine.com (txout-a2-smtp.messagingengine.com [103.168.172.225]) by inbox.vuxu.org (Postfix) with ESMTP id 9FDB120C54 for ; Mon, 15 Dec 2025 14:44:11 +0100 (CET) Received: from localhost.localdomain (phl-topicbox-02.internal [10.202.2.220]) by mailtxout.phl.internal (Postfix) with ESMTP id 8C9221C0132 for ; Mon, 15 Dec 2025 08:44:10 -0500 (EST) ARC-Authentication-Results: i=2; topicbox.com; arc=pass; dkim=pass (2048-bit rsa key sha256) header.d=gmail.com header.i=@gmail.com header.b=Ypu91GXT header.a=rsa-sha256 header.s=20230601 x-bits=2048; dmarc=pass policy.published-domain-policy=none policy.published-subdomain-policy=quarantine policy.applied-disposition=none policy.evaluated-disposition=none (p=none,sp=quarantine,d=none,d.eval=none) policy.policy-from=p header.from=gmail.com; spf=pass smtp.mailfrom=rodrigosloop@gmail.com smtp.helo=mail-ed1-f51.google.com; x-internal-arc=fail (as.1.topicbox.com=pass, ams.1.topicbox.com=fail (message has been altered)) (Message modified while forwarding at Topicbox) ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d= topicbox.com; h=mime-version:references:in-reply-to:from:date :message-id:subject:to:content-type:content-transfer-encoding :list-help:list-id:list-post:list-subscribe:reply-to :list-unsubscribe; s=sysmsg-1; t=1765806250; bh=tI++GAnau2vG4Th7 Nh8R0SZaGWpSR2xnkZ8R3w3rWxM=; b=h99arVIx3Yj2NzHTRWrySkRp3q3lEJzw 06Dhq30EAO8WNLiVgYCq53urAoPdBrZHh/XZ4wb8D7VeVXk7Q0B6gmEUEWVTMJZn wBNNWxosvISaQT/n8d7dijhiwVGJuVyt7ZjdCqrLYMrlmtW2ry9ftr9HLoJTxCjP acjAaR5fLqs= ARC-Seal: i=2; a=rsa-sha256; cv=pass; d=topicbox.com; s=sysmsg-1; t= 1765806250; b=BrUUIuYEeMtYqeHwfCytnWJBKNMJlPysJ0h8JB1vJUgCn9eLow VW7tan/IWFnuUXOcD+GindbxSd4BSI7682u5tuBuNP9OwOV9SDYvgvtWjj1SkvQt 9nHTedooLWizqJ+MXyR4RZlnwfoL+3FvPYNVrgOghLwWMD4ZJ9DThSHXY= Authentication-Results: topicbox.com; arc=pass; dkim=pass (2048-bit rsa key sha256) header.d=gmail.com header.i=@gmail.com header.b=Ypu91GXT header.a=rsa-sha256 header.s=20230601 x-bits=2048; dmarc=pass policy.published-domain-policy=none policy.published-subdomain-policy=quarantine policy.applied-disposition=none policy.evaluated-disposition=none (p=none,sp=quarantine,d=none,d.eval=none) policy.policy-from=p header.from=gmail.com; spf=pass smtp.mailfrom=rodrigosloop@gmail.com smtp.helo=mail-ed1-f51.google.com; x-internal-arc=fail (as.1.topicbox.com=pass, ams.1.topicbox.com=fail (message has been altered)) (Message modified while forwarding at Topicbox) X-Received-Authentication-Results: authmilter.topicbox.com; arc=none (no signatures found); bimi=skipped (DMARC Policy is not at enforcement); dkim=pass (2048-bit rsa key sha256) header.d=gmail.com header.i=@gmail.com header.b=Ypu91GXT header.a=rsa-sha256 header.s=20230601 x-bits=2048; dmarc=pass policy.published-domain-policy=none policy.published-subdomain-policy=quarantine policy.applied-disposition=none policy.evaluated-disposition=none (p=none,sp=quarantine,d=none,d.eval=none) policy.policy-from=p header.from=gmail.com; iprev=pass smtp.remote-ip=209.85.208.51 (mail-ed1-f51.google.com); spf=pass smtp.mailfrom=rodrigosloop@gmail.com smtp.helo=mail-ed1-f51.google.com; x-aligned-from=pass (Address match); x-google-dkim=pass (2048-bit rsa key) header.d=1e100.net header.i=@1e100.net header.b=pudk/FLC; x-me-sender=none; x-ptr=pass smtp.helo=mail-ed1-f51.google.com policy.ptr=mail-ed1-f51.google.com; x-return-mx=pass header.domain=gmail.com policy.is_org=yes (MX Records found: alt2.gmail-smtp-in.l.google.com,alt4.gmail-smtp-in.l.google.com,alt3.gmail-smtp-in.l.google.com,gmail-smtp-in.l.google.com,alt1.gmail-smtp-in.l.google.com); x-return-mx=pass smtp.domain=gmail.com policy.is_org=yes (MX Records found: alt3.gmail-smtp-in.l.google.com,alt4.gmail-smtp-in.l.google.com,alt1.gmail-smtp-in.l.google.com,gmail-smtp-in.l.google.com,alt2.gmail-smtp-in.l.google.com); x-tls=pass smtp.version=TLSv1.3 smtp.cipher=TLS_AES_128_GCM_SHA256 smtp.bits=128/128; x-vs=clean score=0 state=0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=9fans.net; h= mime-version:references:in-reply-to:from:date:message-id:subject :to:content-type:content-transfer-encoding:list-help:list-id :list-post:list-subscribe:reply-to:list-unsubscribe; s=dkim-1; t=1765806250; x=1765892650; bh=hjVU3Z39wlH6OHoqZrmvTxArfxlAlQzJ l62p8BXTEcw=; b=FUYEAeb/qkE6ip0cQMdeXTgWugr+YhWNIApzPNcNsKtCtU1D Qaz+JAKflK7CuwlAvbY+tFSZaAGOdQ+eomTeqKalw8LXPwCtWg3aN11qWAD266dn 4CuNu8b20Xvw22FOk6eVkcO6nm8MKTYBfe4wqGs8vcozGvyh3H5tqV4TlUY= Received: from authmilter.topicbox.com (unknown [172.17.0.1]) by mx.topicbox.com (Postfix) with ESMTP id 787FE35CC09C for <9fans@9fans.net>; Mon, 15 Dec 2025 07:47:20 -0500 (EST) Received: from mx.topicbox.com (172.17.0.1 [172.17.0.1]) by authmilter.topicbox.com (Authentication Milter) with ESMTP id 51A3CF06D45; Mon, 15 Dec 2025 07:47:20 -0500 ARC-Seal: i=1; a=rsa-sha256; cv=none; d=topicbox.com; s=arcseal; t= 1765802840; b=HbwuxTkR+ZNLBvhQMq3umnzzoQBUklhRijAigRejXjxn3fpBO7 2B7zaZ+H0qBjd8F2QSyLktWGp1XbCdM4q8e6/yuriHAMyQmSdTlQHxJ+7C/SSNI3 U02WvD6wmE7+08CgS6ubpuovsyfK6Jd2U750cMpnszeW0PLDoX69IY8uW8pghHsu I0vyOgMI9X3yVs/riodmN3GRx1D8DBz++mXANkzD6RRYRlkvH7om4Ot517/VoEH0 GPTT5WPp0x6Gv0KMUDzPvZbkUiKYgYjhQUWu+JI5cF01gXOqJdXNTJmyEQRenqCr ACJaCvKZFkRUJR5sFcZwWfrnoNYGAve4f/aA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d= topicbox.com; h=mime-version:references:in-reply-to:from:date :message-id:subject:to:content-type:content-transfer-encoding; s=arcseal; t=1765802840; bh=ucUkfEaFA8Ioch3acmRXI6pyx0DLwkfoeSY FoqdTDGs=; b=nEmo77vluWKvuvsYftgB0dyTttM6i8O13KzMxpo+bKKaJVNQmmr trf/VBF7t7rcnRoFTIr1hMYwfImC63N4nfOXZcyAg88AvbgZm1RPIgKNJBdXq8Nq fco8COm7gQEar4Dwxahim2LxP0AVvsZlyW6ruZGzl8ZC7VtQrWyabkD2y8zRGpDi AVb7j7v8mMFEQWSr48jJLkw4IAb8EtWtDmhyyDaVe/ExMVNQksD5a0/nhYny1aIf MPm+NP4K2IYoSD/29dVBcb6YPifLGGGCHW2NB1Kji3qUdLIvZce9OkgLqjZlWRTv QTrBLYqDsnecRrqjcabHQDdvNSjxg5CFZwA== ARC-Authentication-Results: i=1; authmilter.topicbox.com; arc=none (no signatures found); bimi=skipped (DMARC Policy is not at enforcement); dkim=pass (2048-bit rsa key sha256) header.d=gmail.com header.i=@gmail.com header.b=Ypu91GXT header.a=rsa-sha256 header.s=20230601 x-bits=2048; dmarc=pass policy.published-domain-policy=none policy.published-subdomain-policy=quarantine policy.applied-disposition=none policy.evaluated-disposition=none (p=none,sp=quarantine,d=none,d.eval=none) policy.policy-from=p header.from=gmail.com; iprev=pass smtp.remote-ip=209.85.208.51 (mail-ed1-f51.google.com); spf=pass smtp.mailfrom=rodrigosloop@gmail.com smtp.helo=mail-ed1-f51.google.com; x-aligned-from=pass (Address match); x-google-dkim=pass (2048-bit rsa key) header.d=1e100.net header.i=@1e100.net header.b=pudk/FLC; x-me-sender=none; x-ptr=pass smtp.helo=mail-ed1-f51.google.com policy.ptr=mail-ed1-f51.google.com; x-return-mx=pass header.domain=gmail.com policy.is_org=yes (MX Records found: alt2.gmail-smtp-in.l.google.com,alt4.gmail-smtp-in.l.google.com,alt3.gmail-smtp-in.l.google.com,gmail-smtp-in.l.google.com,alt1.gmail-smtp-in.l.google.com); x-return-mx=pass smtp.domain=gmail.com policy.is_org=yes (MX Records found: alt3.gmail-smtp-in.l.google.com,alt4.gmail-smtp-in.l.google.com,alt1.gmail-smtp-in.l.google.com,gmail-smtp-in.l.google.com,alt2.gmail-smtp-in.l.google.com); x-tls=pass smtp.version=TLSv1.3 smtp.cipher=TLS_AES_128_GCM_SHA256 smtp.bits=128/128; x-vs=clean score=0 state=0 X-ME-VSCause: gggruggvucftvghtrhhoucdtuddrgeefgedrtddtgdefieekhecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpggftfghnshhusghstghrihgsvgdp uffrtefokffrpgfnqfghnecuuegrihhlohhuthemuceftddtnecunecujfgurhepgghfjg fhfffkuffvtgfgsehtqhertddttdejnecuhfhrohhmpeftohgurhhighhoucfirdcunfpk phgviicuoehrohgurhhighhoshhlohhophesghhmrghilhdrtghomheqnecuggftrfgrth htvghrnhepjeeigfehueeftdegheekgeejueeutdehgeeljeelieeitdfhteeljeehfeev keeunecuffhomhgrihhnpehshhhithhhuhgsrdhushdpghhithhhuhgsrdgtohhmpdiggi hiihhvvhdrtghomhdpthhophhitggsohigrdgtohhmnecukfhppedvtdelrdekhedrvddt kedrhedunecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepvddtle drkeehrddvtdekrdehuddphhgvlhhopehmrghilhdqvgguuddqfhehuddrghhoohhglhgv rdgtohhmpdhmrghilhhfrhhomhepoehrohgurhhighhoshhlohhophesghhmrghilhdrtg homheqpdhnsggprhgtphhtthhopedupdhrtghpthhtohepoeelfhgrnhhsseelfhgrnhhs rdhnvghtqe X-ME-VSScore: 0 X-ME-VSCategory: clean Received-SPF: pass (gmail.com ... _spf.google.com: Sender is authorized to use 'rodrigosloop@gmail.com' in 'mfrom' identity (mechanism 'include:_netblocks.google.com' matched)) receiver=authmilter.topicbox.com; identity=mailfrom; envelope-from="rodrigosloop@gmail.com"; helo=mail-ed1-f51.google.com; client-ip=209.85.208.51 Received: from mail-ed1-f51.google.com (mail-ed1-f51.google.com [209.85.208.51]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx.topicbox.com (Postfix) with ESMTPS for <9fans@9fans.net>; Mon, 15 Dec 2025 07:47:20 -0500 (EST) Received: by mail-ed1-f51.google.com with SMTP id 4fb4d7f45d1cf-649822b4b64so5428818a12.3 for <9fans@9fans.net>; Mon, 15 Dec 2025 04:47:20 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765802838; x=1766407638; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=ucUkfEaFA8Ioch3acmRXI6pyx0DLwkfoeSYFoqdTDGs=; b=pudk/FLClg8DWpKvGj3nFzpVkM6lVIbqKTWrLZyOzqyU7m/fSJAAr02gbFCR4Vy7RS I9pOeFYnztiKpP8I4RiOUUiqHZdj4Plpu6oXMdq3i+3sp4BAcIPN/h2hTBj30Jyw/zGJ EIKb46EgGu9qeACK6DTmPBtV7U4Q8JAUZnyGc+KbGoJtR/oJdBYCRHTPlpOrJj0mqLuL KvFSYYLk1Hvd2RUpv4FS8nW7tw+UEaGcrlYAVhGhvoJdPu5HmkeaDWeq4PU1YYfjrIVV T2VZ0JhOQdktyeecrttoHTiOk/ENLSvuBNLefuT5HsUoFw3H9QumI8ryVCN9EcWROH7/ EktA== X-Gm-Message-State: AOJu0Yzp1uvpCXNl4KWy28ssoZuAvGYCq7tqR6cd5IobB7nmjjO0d9Vm FdW9GegQJgzVewfByUK9FptXIMESsbenQKbX9MXIndzmFIVsUqg91b+fhD4YiRnJNW5L7Mz/7as 3DvJ0UoOuZ/zOrqats3IQIa9OxW7TZShYo2RX X-Gm-Gg: AY/fxX4ro0sXCTcB2+Neoe25yUSBsXY7uOBRQ/YVm72viPWVI1D0A6J1uqbhERSRjwj 1xQOfLYZZU/QzVpw/I+8Vyqedl7wZFgKKswrxHH+ZL8+xHYOvljkOZklgWvKG42HGgtj2AZoJAr miYHSMANmbeGC6Hg2MCu85bPZfCZySvYCJ0ap24Sac4jwdNY3/gIASvFlwEH4edjgKrDQCf6ShA AygAdmvqg6V7rWtRwm+9zLWuGx/6yJZOEpvtelSfAJpJBNp7tLl0ZlWmAumK6ieUpKSV64= X-Google-Smtp-Source: AGHT+IGy3qmbE958KkkjTUWeqForp7mNhLh41tVlSF1EjiPLUrXSWHf3EPiNpOJX0TjQf0MTQSSuDFVkgOkN+UhID7A= X-Received: by 2002:a05:6402:1ed3:b0:649:9348:f440 with SMTP id 4fb4d7f45d1cf-6499b1c2580mr11406218a12.22.1765802838497; Mon, 15 Dec 2025 04:47:18 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: =?UTF-8?Q?Rodrigo_G=2E_L=C3=B3pez?= Date: Mon, 15 Dec 2025 13:47:06 +0100 X-Gm-Features: AQt7F2qvrTpecwAkW_0Jkf1q3k9UyF7cbBWTTWtrNsrpJUzLwnoSaE2k4tPugwQ Message-ID: Subject: Re: [9fans] Example for libgeometry To: 9fans <9fans@9fans.net> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Topicbox-Policy-Reasoning: moderate: sender is a member; group holds all messages Topicbox-Message-UUID: 32c2af30-d9b4-11f0-8e94-f82f0fc0285f Archived-At: =?UTF-8?B?PGh0dHBzOi8vOWZhbnMudG9waWNib3guY29tL2dyb3Vwcy85?= =?UTF-8?B?ZmFucy9UZWNjNDU5YWIzNTBlZjliYy1NMDE1OTJiYTFiMjllMzRjMzczYmJk?= =?UTF-8?B?NDczPg==?= List-Help: List-Id: "9fans" <9fans.9fans.net> List-Post: List-Software: Topicbox v0 List-Subscribe: Precedence: list Reply-To: 9fans <9fans@9fans.net> List-Unsubscribe: , Topicbox-Delivery-ID: 2:9fans:437d30aa-c441-11e9-8a57-d036212d11b0:522be890-2105-11eb-b15e-8d699134e1fa:M01592ba1b29e34c373bbd473:1:LTh6PChnU1iu6J27Ce68KNWFIumQIqqvgcut4V6qFcU hi skip, we made improvements to the library for 9front some years ago, and i'm using it as the basis for some of my projects: - https://shithub.us/rodri/3dee/HEAD/info.html - https://shithub.us/rodri/libgraphics/HEAD/info.html it should have enough practical examples for many things. libgraphics implements a full 3d renderer, and on 3dee you'll find some tools to work with 3d files (OBJ, STL and the internal model(6) so far), along with a visualizer; it also includes a raymarching demo. notably, it's not the same interface as the old one, but we decided to make it more specific to geometry since the original one also embedded functionality related to graphics that would be better included in a different library. best regards, -rodri On Mon, Dec 15, 2025 at 3:23=E2=80=AFAM Skip Tavakkolian wrote: >=20 > Hi all, >=20 > In case anyone is interested, I've created an example [1] to display > and manipulate 3D objects using libgeometry (i.e. arith3(2), > matrix(2), qball(2)). If it is judged to be a good enough example, > perhaps it should be in /sys/src/libgeometry. >=20 > I wasn't able to find any example usage of the libary in any of the > usual places, but I did find another implementation called moogle [2]. >=20 > -Skip >=20 > [1] https://github.com/9nut/plan9cmd/tree/main/examples > [2] https://wiki.xxiivv.com/site/moogle.html ------------------------------------------ 9fans: 9fans Permalink: https://9fans.topicbox.com/groups/9fans/Tecc459ab350ef9bc-M01592= ba1b29e34c373bbd473 Delivery options: https://9fans.topicbox.com/groups/9fans/subscription