The verb getdata contains the following, it had been there for a
long time AFAIK.  That said, I don't understand how plot work.

if. iscomplexdata dat do.
  if. dat -: + dat do.
    dat=. {."1 dat
  else.
    if. 2 > #$dat do.
      dat=. ;/ |: +. dat
    else.
      dat=. ;/ 2 0 1 |: +. dat
    end.
  end.
end.

Вс, 11 май 2014, Raul Miller писал(а):
> The tropic of cancer is the farthest north you can be and still have
> the sun be directly overhead at some time during the year (in the
> middle of northern hemisphere summer). This is approximately 22.5
> degrees latitude. See also:
> http://www.geog.ucsb.edu/~joel/g110_w08/lecture_notes/sun_angle/sun_angle.html
> for a lot more detail on this and related issues.
> 
> This is relevant, for example, when building a home. Depending on the
> latitude and the time of the year, the noon sun will range from
> 90-latitude+22.5 to 90-latitude-22.5 degree. This means that if you
> build your house right (with south facing insulated glass and the
> right kind of south facing roof overhang) you can have solar heat in
> the winter while mostly getting shade in the summer.
> 
> (Deciduous trees can achieve similar effects. And, of course, not
> everyone is in a position to have trees, nor is everyone in a position
> to build a house. And there are other issues to consider. But there's
> only so much material I'm going to cover in one email message.)
> 
> So let's draw a picture of this.
> 
> require 'plot'
> plot j./1 2 o./o.0.001*i.2002
> 
> Note that I'm using j./ to get a parametric curve. and the numbers
> give me a range from 0 to approximately 2*pi. Also, of course 1 o. is
> sine and 2 o. is cosine (since sine is an odd function and cosine is
> an even function. See:
> https://en.wikipedia.org/wiki/Even_and_odd_functions)
> 
> That plot supposed to be a circle, representing the earth. You'll have
> to manually adjust the size of the window so that my circle is
> circular.
> 
> Now, let's draw in the angle of the equator.
> 
> require'plot'
> pd 'reset'
> pd j./1 2 o./o.0.001*i.2002
> pd (0.001*i:2002)*j./2 1 o. 22.5%180p_1
> pd 'show'
> 
> You'll have to make my circle be circular again.
> 
> Also, %180p_1 converts from degrees (the typical treatment for
> latitude) to radians (the math used by plot).
> 
> You can imagine the sun being off to one side, and light coming in
> horizontally. In fact, it might be nice to draw some arrows.
> 
> So, how do I draw horizontal lines?
> 
> A horizontal line has y=0 and x ranging over the range of values we
> want to display. This is a bit odd to think about because plot is
> sensitive to data type in a non-mathematical fashion. But before I can
> show what that means, I've a bug to report:
> 
> require'plot'
> pd 'reset'
> pd j./1 2 o./o.0.001*i.2002
> pd (0.001*i:2002)*j./2 1 o. 22.5%180p_1
> pd (_1.6+0.001*i.100)j.0.1-0.001*i.100
> pd (_1.6+0.001*i.100)j._0.1+0.001*i.100
> pd (_2+0.001*i.500)j.0
> pd 'show'
> 
> That last line gives me a domain error in J6, and silently does
> nothing in J8. It's supposed to be a horizontal line - I'm trying to
> draw an arrow. But for whatever reason that fails. (This is where
> someone is supposed to loudly assert how wonderful data types are
> because of how they make things fail. And, in fact, those failure
> modes can be put to good use. But they are not exactly a universal
> good.)
> 
> The workaround is to make the line be not quite horizontal (but not so
> much that it's visible. For example:
> 
> require'plot'
> pd 'reset'
> pd j./1 2 o./o.0.001*i.2002
> pd (0.001*i:2002)*j./2 1 o. 22.5%180p_1
> pd (_1.6+0.001*i.100)j.0.1-0.001*i.100
> pd (_1.6+0.001*i.100)j._0.1+0.001*i.100
> pd (_2+0.001*i.500)j.1e_12*i.500
> pd 'show'
> 
> Actually, it might be nice to have several arrows:
> 
> require'plot'
> pd 'reset'
> pd j./1 2 o./o.0.001*i.2002
> pd (0.001*i:2002)*j./2 1 o. 22.5%180p_1
> pd (_1.6+0.001*i.100)j.0.6-0.001*i.100
> pd (_1.6+0.001*i.100)j.0.4+0.001*i.100
> pd (_2+0.001*i.500)j.0.5+1e_12*i.500
> pd (_1.6+0.001*i.100)j.0.1-0.001*i.100
> pd (_1.6+0.001*i.100)j._0.1+0.001*i.100
> pd (_2+0.001*i.500)j.1e_12*i.500
> pd (_1.6+0.001*i.100)j._0.4-0.001*i.100
> pd (_1.6+0.001*i.100)j._0.6+0.001*i.100
> pd (_2+0.001*i.500)j._0.5+1e_12*i.500
> pd 'show'
> 
> Or maybe that's getting to be too much?
> 
> Anyways... to take this further, I should probably pick a latitude and
> draw a side view of a house and draw in the noon-time extreme sun
> angles for winter and summer (along with the more typical
> autumn/spring sun angles). And then maybe do some architectural
> drawings. But this is probably enough for one message.
> 
> Thanks,
> 
> -- 
> Raul
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm

-- 
regards,
====================================================
GPG key 1024D/4434BAB3 2008-08-24
gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3
gpg --keyserver subkeys.pgp.net --armor --export 4434BAB3
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to