|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Hi!
Can anyone help me to solve the following problem: I know the coordinates of
a cylinder and I want to map a radial y pigment on it. I want to define the
texture at the origin and then translate it. Or define a unit cylinder and
somehow fit it into the coordinates I have.
10x.
pet### [at] usanet
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Peter Popov wrote:
>
> Hi!
>
> Can anyone help me to solve the following problem: I know the coordinates of
> a cylinder and I want to map a radial y pigment on it. I want to define the
> texture at the origin and then translate it. Or define a unit cylinder and
> somehow fit it into the coordinates I have.
I am afraid I don't understand the question completely, but in
general to place a texture there are two options:
* define the object in texture coordinates, then scale and/or translate
both.
example (not debugged) :
cylinder {
<0, 0, 0>,
<1, 1, 1>,
1
texture { CylinderTexture }
// the following transformations apply to the texture
// and the object:
scale S // S : a scalar or vector
rotate T // T : a vector
translate V // V : a vector
}
* define the texture, then scale it and/or translate it to match
the object location.
example (not debugged) :
cylinder {
V, // V: a vector
V2, // V2: a vector
R // R : a scalar
texture {
CylinderTexture
// the following transformations apply to the texture
// only :
#declare H = vlength(V2 - V);
#declare T = <atan2(...),atan2(.....),...>; // math LAAEFTR :)
scale <R, H, R>
rotate T
translate V
}
}
I am not implying the texture must always be matched to the
object in the manner shown... they are just typical examples.
Dan
--
http://www.flash.net/~djconnel/
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Peter Popov wrote:
> Hi!
>
> Can anyone help me to solve the following problem: I know the coordinates of
> a cylinder and I want to map a radial y pigment on it. I want to define the
> texture at the origin and then translate it. Or define a unit cylinder and
> somehow fit it into the coordinates I have.
>
> 10x.
>
> pet### [at] usanet
"matrix" is what you need; I'm not familiar enough with it to explain,
but there is a good tutorial about it :
http://www.erols.com/vansickl/matrix.htm
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
I know I (probably) need the matrix keyword (I'm not *that* new to POV).
Problem is, I am not good in math either. So far I was able to match the
texture to the cylinder, but by shearing it and not rotating it. Thanks for
the URL, though. I'll be surfing in a sec, hope it helps.
--Peter
Fabien Mosen wrote in message <357D62D7.5AA9371C@skynet.be>...
>"matrix" is what you need; I'm not familiar enough with it to explain,
>but there is a good tutorial about it :
>http://www.erols.com/vansickl/matrix.htm
>
>
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Dan Connelly wrote in message <35A60621.4087CF56@flash.net>...
>...
>I am afraid I don't understand the question completely...
I think you got it perfectly right,
>...
>... #declare T = <atan2(...),atan2(.....),...>; // math LAAEFTR :)
...
>...
though I'm having problems with LAAEFTR, being absolutely new (a week or so)
in the 'Net :( Not being that good in math either, I would guess the ... in
atan2(..) should be replaced with ...?
10x
>Dan
>
>http://www.flash.net/~djconnel/
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
On Sat, 11 Jul 1998 00:12:10 +0300, Peter Popov <pet### [at] usanet> wrote:
>Dan Connelly wrote in message <35A60621.4087CF56@flash.net>...
>>... #declare T = <atan2(...),atan2(.....),...>; // math LAAEFTR :)
>
>though I'm having problems with LAAEFTR, being absolutely new (a week or so)
Left As An Exercise For The Reader. Not really a net thing, more of a math
thing. And the ...'s are English, not math, for "fill this part in
yourself."
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Checked the site, it's great! Suits me just fine. 10x for the info.
Happy tracing.
--Peter
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
>Left As An Exercise For The Reader. Not really a net thing, more of a math
>thing. And the ...'s are English, not math, for "fill this part in
>yourself."
>
Facing the threat of flaming someone by repeatedly asking stupid questions,
what scalar values should I enter for the three atan2 fxns? Two months and I
still can't figure it out :(
--Peter
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
On Fri, 10 Jul 1998 07:16:33 -0500, Dan Connelly <djc### [at] flashnet> wrote:
>Peter Popov wrote:
>>
>> Hi!
>>
>> Can anyone help me to solve the following problem: I know the coordinates of
>> a cylinder and I want to map a radial y pigment on it. I want to define the
>> texture at the origin and then translate it. Or define a unit cylinder and
>> somehow fit it into the coordinates I have.
>* define the texture, then scale it and/or translate it to match
> the object location.
>
> example (not debugged) :
>
> cylinder {
> V, // V: a vector
> V2, // V2: a vector
> R // R : a scalar
> texture {
> CylinderTexture
>
> // the following transformations apply to the texture
> // only :
> #declare H = vlength(V2 - V);
#declare DX = V2.x-V.x;
#declare DY = V2.y-V.y;
#declare DZ = V2.z-V.z;
#declare RX = atan2( DZ, DY );
#declare RZ = atan2( DX, DY );
> scale <R, H, R>
rotate RX * x
rotate RZ * z
> translate V
> }
> }
I haven't tested this, and I'm not sure it's quite right. In particular,
the terms inside the atan2 might be different than I have here. For example,
where I have DY, you might really need -DY. If it doesn't work, try
different combinations of signs. I'm also assuming that the axis of your
texture lies along the +Y axis.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
>from Ron Parker...
>
>I haven't tested this, and I'm not sure it's quite right. In particular,
>the terms inside the atan2 might be different than I have here. For
example,
>where I have DY, you might really need -DY. If it doesn't work, try
>different combinations of signs. I'm also assuming that the axis of your
>texture lies along the +Y axis.
>
>
OK, I'll try that tomorrow (today, by local time). I have an exam in eight
hours, so I won't bother you again for at least 24 hours :) Anyway, +Y it
is, and I'll just write a #while to check all combinations at once.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |