  | 
  | 
 
 | 
  | 
 | 
  | 
 
 |   |  
 |   |  
 | 
  | 
 | 
  | 
 
 |   |  
 |   |  
 | 
  | 
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 
 | 
  | 
 
 |   |  
 |   |  
 | 
  | 
 | 
  | 
 
 |   |  
 |   |  
 | 
  | 
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'
   
   
 | 
  | 
 
 |   |  
 |   |  
 | 
  | 
 | 
  | 
 
 |   |  
 |   |  
 | 
  | 
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 
 | 
  | 
 
 |   |  
 |   |  
 | 
  | 
 | 
  | 
 
 |   |  
 |   |  
 | 
  | 
"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 
 | 
  | 
 
 |   |  
 |   |  
 | 
  | 
 | 
  | 
 
 |   |  
 |   |  
 | 
  | 
"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 
 | 
  | 
 
 |   |  
 |   |  
 | 
  | 
 | 
  | 
 
 |   |  
 |   |  
 | 
  | 
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 
 | 
  | 
 
 |   |  
 |   |  
 | 
  | 
 | 
  | 
 
 |   |  
 |   |  
 | 
  | 
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 
 | 
  | 
 
 |   |  
 |   |  
 | 
  | 
 | 
  | 
 
 |   |  
 
 | 
  |