![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
I have some normal text I would like to skew so that its edges align to
an isometric grid.
That is, the vertical and horizontal edges should be rotated 26.565°
from the horizontal screen edge.
26.565° = atan(1/2)
Would appreciate some help. Here is what I have so far:
matrix
<
+1, +0, +0,
+1, +1, +0,
+0, +0, +1,
+0, +0, +0
>
rotate -z * atand(1/2)
It is close but no cigar. Thanks!
Mike
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Mike Horvath <mik### [at] gmail com> wrote:
> I have some normal text I would like to skew so that its edges align to
> an isometric grid.
Which one?
> from the horizontal screen edge.
Without a diagram, that's confusing.
When I grab a random isometric grid from the web, I put it as a background, and
it looks like I get 3 x-units to every 2 pov units for the new y' vector, and
it's half the height (angle of 36.87 deg)
That gets me a second row for the transform matrix of 2/3, 0.5, 0.
(magenta vector)
But that's as far as I can get without exact parameters.
You have a matrix transform AND a rotation - so maybe you need something
different than what I'm showing?
Post a reply to this message
Attachments:
Download 'matrixtransformtext.png' (398 KB)
Preview of image 'matrixtransformtext.png'
![matrixtransformtext.png](/povray.advanced-users/attachment/%3Cweb.608576f214ed78c71f9dae3025979125%40news.povray.org%3E/matrixtransformtext.png?ttop=443814&toff=50&preview=1)
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Mike Horvath <mik### [at] gmail com> wrote:
> I have some normal text I would like to skew so that its edges align to
> an isometric grid.
>
> from the horizontal screen edge.
>
>
> Would appreciate some help. Here is what I have so far:
>
> matrix
> <
> +1, +0, +0,
> +1, +1, +0,
> +0, +0, +1,
> +0, +0, +0
> >
> rotate -z * atand(1/2)
>
> It is close but no cigar. Thanks!
Hi Mike
You can try this:
// ===== 1 ======= 2 ======= 3 ======= 4 ======= 5 ======= 6 ======= 7
#version 3.7;
#include "colors.inc"
global_settings { assumed_gamma 1.0 }
// ===== 1 ======= 2 ======= 3 ======= 4 ======= 5 ======= 6 ======= 7
#declare Box =
box {
-<1, 1, 1>, +<1, 1, 1>
translate <-1, -1, +1>
pigment { color (White + Blue)/2 }
}
#declare Text =
text {
ttf "timrom.ttf" "POV-Ray..." 1, 0
pigment { color (White + Red)/2 }
}
// For aligning to an isometric perspective grid
// often used in computer generated graphics
#declare Skew =
transform {
matrix <
+1.0, -0.5, 0.0,
+2.0, +1.0, 0.0,
0.0, 0.0, +1.0,
0.0, 0.0, 0.0
>
}
object {
Box
transform { Skew }
}
object {
Text
transform { Skew }
}
// ===== 1 ======= 2 ======= 3 ======= 4 ======= 5 ======= 6 ======= 7
light_source {
-100*z
color White
}
camera {
orthographic
location -z
right image_width/image_height*x
up y
direction z
scale 10*<1, 1, 1>
}
// ===== 1 ======= 2 ======= 3 ======= 4 ======= 5 ======= 6 ======= 7
--
Tor Olav
http://subcube.com
https://github.com/t-o-k
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
"Bald Eagle" <cre### [at] netscape net> wrote:
> Mike Horvath <mik### [at] gmail com> wrote:
> > I have some normal text I would like to skew so that its edges align to
> > an isometric grid.
>
> Which one?
>
>
> > from the horizontal screen edge.
>
> Without a diagram, that's confusing.
>...
Bill,
Here's some information about the grid that Mike seems to be using:
https://en.wikipedia.org/wiki/Isometric_video_game_graphics
--
Tor Olav
http://subcube.com
https://github.com/t-o-k
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
"Tor Olav Kristensen" <tor### [at] TOBEREMOVEDgmail com> wrote:
>...
> Hi Mike
>
> You can try this:
>...
Also try this:
#for (Angle, 0, 270, 90)
object {
Text
translate 0.2*x
rotate Angle*z
transform { Skew }
}
#end // for
--
Tor Olav
http://subcube.com
https://github.com/t-o-k
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
On 4/25/2021 11:06 AM, Tor Olav Kristensen wrote:
> // For aligning to an isometric perspective grid
> // often used in computer generated graphics
> #declare Skew =
> transform {
> matrix <
> +1.0, -0.5, 0.0,
> +2.0, +1.0, 0.0,
> 0.0, 0.0, +1.0,
> 0.0, 0.0, 0.0
> >
> }
Perfect! Thank you!
With a little trig maybe I can skew in an arbitrary direction?
We'll see...
Mike
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
On 4/25/2021 11:16 AM, Tor Olav Kristensen wrote:
> Bill,
>
> Here's some information about the grid that Mike seems to be using:
>
> https://en.wikipedia.org/wiki/Isometric_video_game_graphics
>
> --
> Tor Olav
> http://subcube.com
> https://github.com/t-o-k
>
>
Yes! In fact, I created about half of those illustrations.
Mike
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |