裏 RjpWiki

Julia ときどき R, Python によるコンピュータプログラム,コンピュータ・サイエンス,統計学

家紋シリーズ 稲妻(1) 丸に平稲妻

2021年09月04日 | ブログラミング

家紋シリーズ 稲妻(1) 丸に平稲妻

plotter.jl を include
https://blog.goo.ne.jp/r-de-r/e/bd71a52a09801335d56f7c47d879bfe3

include("plotter.jl")

function hirainazuma(; r=1, maru=false, width=400, height=400)
    plotbegin(w=width, h=height)
    if maru
        plotcircle(-0.5r, -0.5r, 25, lwd=0, fcol=:black)
        plotcircle(-0.5r, -0.5r, 15.25*sqrt(2), lwd=0, fcol=:white)
    end
    x = [-15,  14, 14, -15, -15,   9, 9, -10, -10,  4, 4, -5,
        
-5, 0,  0, -6, -6, 5,  5, -11, -11, 10,  10, -15] .* r
    y = [-15, -15, 14,  14, -10, -10, 9,   9,  -5, -5, 4,  4,
         0, 0, -1, -1,  5, 5, -6,  -6,  10, 10, -11, -11] .* r

    plotpolygon(x, y, lwd=0, fcol=:black)
    plotend()
end

marunihirainazuma(; r=1, width=400, height=400) =
    hirainazuma(; r, maru=true, width, height)

hirainazuma()


コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

家紋シリーズ 井筒(2) 井筒に三つ巴

2021年09月03日 | ブログラミング

家紋シリーズ 井筒(2) 井筒に三つ巴

plotter.jl を include
https://blog.goo.ne.jp/r-de-r/e/bd71a52a09801335d56f7c47d879bfe3

include("plotter.jl")

#=
井筒の中に描く三つ巴は以下に示した mitudomoe() 関数を呼ぶ
家紋シリーズ 三つ巴(左三つ巴,右三つ巴)
https://blog.goo.ne.jp/r-de-r/e/af80612e6ad67ae34de8671dea6afa8d

=#

function izutunimitudomoe(; r=1, width=400, height=400)
    plotbegin(w=width, h=height)
    x = [1402, 1610, -138, -346]
    y = -reverse(x)
    plotpolygon( x,  y, lwd=0, fcol=:black)
    plotpolygon(-x,  y, lwd=0, fcol=:black)
    plotpolygon( x, -y, lwd=0, fcol=:black)
    plotpolygon(-x, -y, lwd=0, fcol=:black)
    mitudomoe(r=1.92, subunit=true)
    plotend()
end

izutunimitudomoe()

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

家紋シリーズ 三つ巴(左三つ巴,右三つ巴)

2021年09月03日 | ブログラミング

家紋シリーズ 三つ巴(左三つ巴,右三つ巴)

左三つ巴は direction=:left (デフォルト)
右三つ巴は direction=:right
subuunig=true は他の描画プログラムの下請けで呼ばれるときで,plotbegin(), plotend() を呼ばない

plotter.jl を include
https://blog.goo.ne.jp/r-de-r/e/bd71a52a09801335d56f7c47d879bfe3

include("plotter.jl")

function mitudomoe(; r=1, direction=:left, subunit=false, width=400, height=400)
    !subunit && plotbegin(w=width, h=height)
    θ = atand(sqrt(3)/2)
    p1, p2, p3, p4 = direction == :left ?
        (-30, 90, -θ, 90) :
        (90, 210, 90, 210 + θ)
    for i = 0:2
        plotcircle(0, 0, 320r, startangle=120i+p1, endangle=120i+p2,
            lwd=3, fcol=:black)
        plotcircle(128r*cosd(120i+90), 128r*sind(120i+90), 192r,
            startangle=120i+p3, endangle=120i+p4, lwd=0, fcol=:white)
    end
    for i = 0:2
        plotcircle(174r*cosd(120i-30), 174r*sind(120i-30), 146r,
            lwd=0, fcol=:black)
    end
    !subunit && plotend()
end

mitudomoe()

mitudomoe(direction=:right)

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

家紋シリーズ 井筒(1) 角立て井筒,丸に角立て井筒,丸に平井筒

2021年09月03日 | ブログラミング

家紋シリーズ 井筒(1) 角立て井筒,丸に角立て井筒,丸に平井筒

plotter.jl を include
https://blog.goo.ne.jp/r-de-r/e/bd71a52a09801335d56f7c47d879bfe3

include("plotter.jl")

function sumidateizutu(; r=1, maru=false, width=400, height=400)
    plotbegin(w=width, h=height)
    if maru
        plotcircle(0, 0, 243r, lwd=0, fcol=:black)
        plotcircle(0, 0, 205r, lwd=0, fcol=:white)
    end
    a, b, c, d = 136, 194, -20, -78
    e, f, g, h = -78, -20, 194, 136
    plotpolygon([ a,  b,  c,  d], [ e,  f,  g,  h], lwd=0, fcol=:black)
    plotpolygon([-a, -b, -c, -d], [ e,  f,  g,  h], lwd=0, fcol=:black)
    plotpolygon([ a,  b,  c,  d], [-e, -f, -g, -h], lwd=0, fcol=:black)
    plotpolygon([-a, -b, -c, -d], [-e, -f, -g, -h], lwd=0, fcol=:black)
    plotend()
end

marunisumidateizutu(; r=1, width=400, height=400) = sumidateizutu(; r, maru=true, width, height)
    
function hiraizutu(; r=1, maru=false, width=400, height=400)
    plotbegin(w=width, h=height)
    if maru
        plotcircle(0, 0, 705r, lwd=0, fcol=:black)
        plotcircle(0, 0, 557r, lwd=0, fcol=:white)
    end
    a, b, c, d = 100, 320,  320,  100
    e, f, g, h = 400, 400, -400, -400
    plotpolygon([ a,  b,  c,  d], [ e,  f,  g,  h], lwd=0, fcol=:black)
    plotpolygon([-a, -b, -c, -d], [ e,  f,  g,  h], lwd=0, fcol=:black)
    a, b, c, d = -400, 400, 400, -400
    e, f, g, h =  320, 320, 100,  100
    plotpolygon([ a,  b,  c,  d], [ e,  f,  g,  h], lwd=0, fcol=:black)
    plotpolygon([ a,  b,  c,  d], [-e, -f, -g, -h], lwd=0, fcol=:black)
    plotend()
end

marunihiraizutu(; r=1, width=400, height=400) = hiraizutu(; r, maru=true, width, height)

sumidateizutu()


marunisumidateizutu() # ≡ sumidateizutu(maru=true)

# hiraizutu()
marunihiraizutu() # ≡ hiraizutu(maru=true)

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

家紋シリーズ 井桁(1) 井桁,丸に井桁

2021年09月03日 | ブログラミング

家紋シリーズ 井桁(1) 井桁,丸に井桁

plotter.jl を include
https://blog.goo.ne.jp/r-de-r/e/bd71a52a09801335d56f7c47d879bfe3

include("plotter.jl")

function igeta(; r=1, maru=false, width=400, height=400)
    plotbegin(w=width, h=height)
    if maru
        plotcircle(0, 0, 948r, lwd=0, fcol=:black)
        plotcircle(0, 0, 780r, lwd=0, fcol=:white)
    end
    slope = 14/19
    θ = atand(slope)
    a = (530r * slope - 170) / slope
    b = (705r * slope -  45) / slope
    c = a * slope
    d = b * slope
    e = (a + b) / 2
    f = (b - a)slope / 2
    s = 75
    j =  s * sind(θ)
    k = -s * cosd(θ)
    g = e - k
    h = f + j
    i = b - k
    l = -d - j
    m = (a - b) / 2 + k
    n = (m - k) * slope - j - c
    plotpolygon([ g,  i,  k,  m], [ h,  j,  l,  n], lwd=0, fcol=:black)
    plotpolygon([-g, -i, -k, -m], [ h,  j,  l,  n], lwd=0, fcol=:black)
    plotpolygon([ g,  i,  k,  m], [-h, -j, -l, -n], lwd=0, fcol=:black)
    plotpolygon([-g, -i, -k, -m], [-h, -j, -l, -n], lwd=0, fcol=:black)
    plotend()
end

maruniigeta(; r=1, width=400, height=400) = igeta(; r, maru=true, width, height)

igeta()


maruniigeta() # ≡ igeta(maru=true)

 

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

PVアクセスランキング にほんブログ村

PVアクセスランキング にほんブログ村