This worked for me to generate x-z d orbitals. The other planes are similar. I simply applied 4 different 45 degree rotations to your points and plotted them all together. I added two additional points to fix the scale.
################################################## use PDL; use PDL::Complex; use PDL::Graphics::TriD; use PDL::Math; my $c = 10; ## speed my $Rotxz=pdl([[1/sqrt 2, 0, -1/sqrt 2],[0,1,0], [1/sqrt 2, 0, 1/sqrt 2]]); nokeeptwiddling3d; while(1){ for my $phase(-360..360) { ## 360 my $photons = 4178; ### [Density] 2444 4178 my $t=rvals(zeros($photons)); my $cz=$c; # -1**$t*$c my $cy=sin($t*$c); my $cx=sin($t)*$c; my $w=$cz-$cy-$cx; my $color=(pdl[my $r=cos($cy+$c+$cz), my $g=sin($w), my $b=cos($w)])->mv(-1,0); my $i=($cz-$cx-$cy); my $q=$c*($i*$phase); my $R = $b*sin($b); my $phi = $r*$q; my $theta = $g*cos($g); my $points=($R*pdl[sin($theta)*cos($phi), sin($phi)*sin($theta),cos($theta)]); my $allpoints=pdl( $Rotxz x $points, $Rotxz->transpose x $points, -$Rotxz x $points, -$Rotxz->transpose x $points )->mv(1,0); points3d(pdl[[1,1,1],[-1,-1,-1]]); hold3d(); points3d($allpoints, $color->dummy(2)); release3d(); } } On Sat, Oct 14, 2023 at 06:01:34PM -0700, Mark NanoNebulas wrote: > i found out how to move the point in the y axis here > $dd++; > $xxx = $xx*cos($yy)*sin($zz)+sin($xx); ### cos change the spin of the > electron here > $yyy = $xx*sin($yy)*sin($zz)+sin($xx+$dd); ### sin > $zzz = $xx*cos($zz); ### cos > > this seems to work but can it make all the d orbitals i need ??? > > -Mark Baker > > > On Sat, Oct 14, 2023 at 7:18 AM Luis Mochan <moc...@icf.unam.mx> wrote: > > > Hi, > > I didn't quite understand the code. I simplified it a bit, removed > > many noop instructions, changed the speed, negated the twiddling and > > the result looks like a nice lobe of a p orbital, made up of points > > along some spiral, rotating about its axis. Is this the rotation you > > want or do you want to rotate the symmetry axis from the z direction to an > > arbitrary direction? You could apply a 3x3 rotation matrix to the > > $points array in the code below. If you want a point to remain fixed, > > first translate it to the origin, the rotate, and then rotate back. > > Regards, > > Luis > > ---------------- > > ################################################## > > use PDL; > > use PDL::Complex; > > use PDL::Graphics::TriD; > > use PDL::Math; > > nokeeptwiddling3d; > > my $c = 10; ## speed > > while(1){ > > for my $phase(-360..360) { ## 360 > > my $photons = 4178; ### [Density] 2444 4178 > > my $t=rvals(zeros($photons)); > > my $cz=$c; # -1**$t*$c > > my $cy=sin($t*$c); > > my $cx=sin($t)*$c; > > my $w=$cz-$cy-$cx; > > my $color=(pdl[my $r=cos($cy+$c+$cz), my $g=sin($w), my > > $b=cos($w)])->mv(-1,0); > > my $i=($cz-$cx-$cy); > > my $q=$c*($i*$phase); > > my $R = $b*sin($b); > > my $phi = $r*$q; > > my $theta = $g*cos($g); > > my $points=($R*pdl[sin($theta)*cos($phi), > > sin($phi)*sin($theta),cos($theta)])->mv(-1,0); > > points3d $points,$color; > > } > > } > > > > > > > > On Fri, Oct 13, 2023 at 10:36:17AM -0700, Mark NanoNebulas wrote: > > > Hi im trying to rotate this obital so that i can place them all over in > > > balanced arrangements of orbs like the chemistry book says but i dont > > know > > > how to rotate a matrix in all directions, can anybody help > > > heres the code > > > > > > ################################################## > > > use PDL; > > > use PDL::Complex; > > > use PDL::Graphics::TriD; > > > use PDL::Math; keeptwiddling3d; > > > $PDL::BIGPDL=1; > > > ## remember this can crash the computer if you dont have enough RAM and > > > swap in linux or pagefile in windows > > > > > > > > > > > > for (;;){ > > > $c = (400) ; ## speed > > > for $phase(-360..360) { ## 360 > > > $phases = $phase*0.0000001; > > > $frequency = ($c**-1); > > > $n= (6.28*$c*$frequency+($phases)); > > > > > > $photons = 4178; ### [Density] 2444 4178 > > > > > > > > > $t=rvals(exp(zeros($photons))); > > > $cz=-1**$t*$c; # -1**$t*$c > > > $cy=-1**sin($t*$c); #-1**$c*sin($t*$c) > > > $cx=-1**$c*sin(rvals($t))*$c; > > #-1**$c*bessj0(rvals($t,{Centre=>[0]}))*$c; > > > > > > > > > $w=$cz-$cy-$cx; > > > $g=sin($w); #sin > > > $r=cos($cy+$c+$cz); #cos > > > $b=cos($w); #cos > > > $i=($cz-$cx-$cy); > > > $q=$c*($i*$n); > > > $xx = $b*sin($b); ### > > > $yy = $r*($q); ### > > > $zz = $g*cos($g); ### > > > > > > $xxx = $xx*cos($yy)*sin($zz); ### > > > $yyy = $xx*sin($yy)*sin($zz); ### > > > $zzz = $xx*cos($zz); > > > > > > points3d[$xxx,$yyy,$zzz],[$r,$g,$b]; > > > > > > ########################################################## > > > > > > if i can get this orbital to rotate in all directions, then i can > > represent > > > atoms > > > better cause they are balanced by the number of electrons so the orbs > > > repeal each other, please any help would be appreciated !!! > > > > > > Best, > > > -Mark Baker > > > > > > > _______________________________________________ > > > pdl-general mailing list > > > pdl-general@lists.sourceforge.net > > > https://lists.sourceforge.net/lists/listinfo/pdl-general > > > > > > -- > > > > o > > W. Luis Mochán, | tel:(52)(777)329-1734 /<(*) > > Instituto de Ciencias Físicas, UNAM | fax:(52)(777)317-5388 `>/ /\ > > Av. Universidad s/n CP 62210 | (*)/\/ \ > > Cuernavaca, Morelos, México | moc...@fis.unam.mx /\_/\__/ > > GPG: 791EB9EB, C949 3F81 6D9B 1191 9A16 C2DF 5F0A C52B 791E B9EB > > > > > > _______________________________________________ > > pdl-general mailing list > > pdl-general@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/pdl-general > > > _______________________________________________ > pdl-general mailing list > pdl-general@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/pdl-general -- o W. Luis Mochán, | tel:(52)(777)329-1734 /<(*) Instituto de Ciencias Físicas, UNAM | fax:(52)(777)317-5388 `>/ /\ Av. Universidad s/n CP 62210 | (*)/\/ \ Cuernavaca, Morelos, México | moc...@fis.unam.mx /\_/\__/ GPG: 791EB9EB, C949 3F81 6D9B 1191 9A16 C2DF 5F0A C52B 791E B9EB _______________________________________________ pdl-general mailing list pdl-general@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pdl-general