Anim8or Community

Please login or register.

Login with username, password and session length
Advanced search  

News:

An update to Anim8or, v1.00b, is available with a few bug fixes. Get your copy HERE. See the "ReadMe" file for details.

Author Topic: Please help with the cylinder script!  (Read 5131 times)

NickD

  • Newbie
  • *
  • Posts: 25
    • View Profile
Please help with the cylinder script!
« on: December 02, 2008, 10:22:28 am »

Hello,
I have two points. I want to connect them not with the line, but with the cylinder. Is this possible ?
Logged

NickD

  • Newbie
  • *
  • Posts: 25
    • View Profile
Re: Please help with the cylinder script!
« Reply #1 on: December 02, 2008, 02:12:12 pm »

I've tried this:

....

$index[0] = $mymesh.AddPoint((0.000000, 1.000000, 0.000000));
$index[1] = $mymesh.AddPoint((0.343292, 0.939229, 0.000000));

....

float $rx, $ry, $rz;
point3 $p1, $p2;
$p1 = $mymesh.GetPoint($index[0]);
$p2 = $mymesh.GetPoint($index[1]);
float $CylLen;
$CylLen = sqrt(pow($p1.x-$p2.x, 2) + pow($p1.y-$p2.y, 2) + pow($p1.z-$p2.z, 2));
shape $cyl0;
$cyl0 = cylinder($CylRad, $CylLen);
$cyl0.lon = 8;
$cyl0.lat = 1;
$cyl0.CapStart = 0;
$cyl0.CapEnd = 0;
$cyl0.loc = ($p2.x, $p2.y, $p2.z);

$rx = 0;

if(($p1.x-$p2.x) < 0) { $ang = 180; } else { $ang = 0; }
$ry = $ang + atan(($p1.z-$p2.z)/($p1.x-$p2.x)) * 180.0 / $PI2;   
$rz = acos(($p1.y-$p2.y) / $CylLen ) * 180.0 / $PI2;
$cyl[$i].orientation = RPYtoQuaternion($rx, $ry, $rz);

it ALMOST works. The cylinder is positioned not very precise.
« Last Edit: December 02, 2008, 04:08:10 pm by NickD »
Logged

NickD

  • Newbie
  • *
  • Posts: 25
    • View Profile
Re: Please help with the cylinder script!
« Reply #2 on: December 02, 2008, 02:27:32 pm »

now everything works ok, i'm using old version of anim8or with wrong PI!
« Last Edit: December 02, 2008, 04:06:15 pm by NickD »
Logged

RudySchneider

  • Sr. Member
  • ****
  • Posts: 413
  • There are no problems, only opportunities
    • View Profile
Re: Please help with the cylinder script!
« Reply #3 on: December 02, 2008, 04:17:15 pm »

I haven't got ANY experience with Anim8or scripts but, just out of curiosity, doesn't $CylRad need to be defined somewhere?
Logged
G

NickD

  • Newbie
  • *
  • Posts: 25
    • View Profile
Re: Please help with the cylinder script!
« Reply #4 on: December 03, 2008, 10:58:47 am »

yes, but i've not included this in the sample:

float $PI2;
$PI2 = 3.14159265358979323846;
float $CylRad;
$CylRad = 0.018;

actually, i'm using this script to build a geodesic dome

soon i will finish script and can publish it if someone  is interested.

This is the result of the script:




« Last Edit: December 03, 2008, 11:05:34 am by NickD »
Logged

Dreadkb

  • Full Member
  • ***
  • Posts: 108
    • View Profile
Re: Please help with the cylinder script!
« Reply #5 on: December 03, 2008, 11:45:29 pm »

I love geodesics and would love a copy once you're done.
Logged

dajean

  • Newbie
  • *
  • Posts: 43
  • Creativity
    • View Profile
Re: Please help with the cylinder script!
« Reply #6 on: December 09, 2008, 01:09:03 am »

I can't wait to try out your script NickD
Logged

NickD

  • Newbie
  • *
  • Posts: 25
    • View Profile
Re: Please help with the cylinder script!
« Reply #7 on: December 09, 2008, 10:33:04 am »

This is the scripts:
dome_5_8.txt - 5/8 simple geodesic dome
dome_6_8.txt - 6/8 simple geodesic dome
new-dome_5_8.txt - 5/8 geodesic dome with construction elements (cylinders on edges and spheres connecting the cylinders)
Logged

Francesco

  • Full Member
  • ***
  • Posts: 182
    • View Profile
Re: Please help with the cylinder script!
« Reply #8 on: December 09, 2008, 10:53:21 am »

Cool and useful scripts NickD, well done and thanks for sharing!
Logged