Bagaimana cara menempatkan satu objek di depan dan di belakang objek lain pada saat yang sama?

37

Saya telah mencoba (sebagai ujian) untuk membuat lingkaran dengan bilah yang melewatinya. Bilah harus berada di bawah satu sisi lingkaran dan di atas yang lain.

Saya telah melakukan ini dengan memecah lingkaran menjadi dua objek, namun ada jahitan yang terlihat di mana perpecahan itu dilakukan, meskipun jalurnya persis sama.

masukkan deskripsi gambar di sini

Juga, bayangan di bawah bagian kiri lingkaran tidak naik di atas bilah seperti seharusnya, dan saya tidak bisa memikirkan cara untuk memperbaikinya tanpa membelah objek bayangan juga.

Apakah ada cara yang lebih baik untuk melakukan ini?


Jika perlu saya juga bisa mengunggah svg .

gandalf3
sumber
2
Sudahkah Anda mencoba memisahkan bilah? Juga, pastikan Anda tidak berada dalam jumlah pembesaran fraksional, karena kadang-kadang mempengaruhi rendering garis dan sambungan garis.
Johnny Kutnowski
Perangkat lunak apa yang Anda gunakan? Ilustrator?
Henrik Ekblom
1
Superimposisi campuran objek tidak diperbolehkan di Inkscape, tetapi Anda dapat melanjutkan dengan beberapa cara. Yang tercepat mungkin adalah memotong lingkaran di mana ditutupi oleh batang (potongan lurus). Bergantian Anda dapat memindahkan titik persimpangan dengan lebih akurat (jahitan tidak terlihat: mungkin masalahnya ada pada cara Anda memotong lingkaran).
Paolo Gibellini
2
PS Penjajaran tepi tampaknya menjadi masalah Inkscape (lihat di sini , di sini dan di sini ). Dan lihat juga FAQ Inkscape tentang antialiasing : Pasang tepi horizontal / vertikal Anda pada kisi piksel, dan gunakan goresan dari seluruh jumlah piksel. Ekspor bitmap pada 90dpi sehingga unit 1 px sesuai dengan 1 bitmap piksel
Paolo Gibellini
@JohnnyKutnowski Tidak berubah dengan zoom, terkadang perpecahan hampir hilang. Namun sangat terlihat pada zoom 1: 1.
gandalf3

Jawaban:

42

Kesenjangan yang Anda lihat disebabkan oleh render yang tidak sempurna oleh Inkscape dan tidak selalu menjadi masalah tergantung pada bagaimana Anda mengekspor atau menggunakan SVG Anda (selama Anda memotong dengan tepat). Namun bayangan kemungkinan akan menyebabkan masalah, ketika dipotong (yang merupakan satu-satunya cara saya bisa memikirkan untuk memperbaikinya).

Ini solusi saya untuk ini. Sebagai contoh, saya memotong bilah polos, karena lebih mudah. Tetapi memotong lingkaran luar memiliki beberapa keuntungan, yang akan saya sebutkan nanti. Pertama gambar:

Beberapa teknik overlay

Kiri menggunakan objek transparan (satu biru, satu merah) untuk demonstrasi, kanan menunjukkan hasilnya.

  • Di atas, saya mereproduksi apa yang Anda lakukan dan memotong bar saya. Ini mengarah ke celah yang disebutkan di atas pada beberapa tingkat zoom atau ekspor piksel (ini juga dapat terjadi pada beberapa penyaji PDF atau serupa).
  • Di tengah, saya membiarkan dua bagian bar saling bertumpuk, yang menghindari celah tetapi membuat bar tampak sedikit lebih tebal di sekitar potongan (Anda mungkin harus memperbesar untuk melihat ini).
  • Di bagian bawah, saya menggunakan apa yang saya rekomendasikan untuk dilakukan¹. Tumpang tindih terbesar adalah setengah lebar bar. Saya tidak dapat menemukan tingkat zoom atau ekspor yang menghasilkan efek aliasing yang tidak diinginkan (yaitu, celah atau bilah yang menebal).

Sekarang, mari kita lihat bayangannya:

masukkan deskripsi gambar di sini

Urutannya sama seperti di atas. Di sebelah kanan, kita memiliki bayangan sendirian untuk ilustrasi yang lebih baik.

  • Bayangan untuk potongan sederhana terlihat oke, tapi kita bisa melihat, bahwa itu agak lemah pada posisi pemotongan. Ini menjadi lebih banyak masalah bagi bayangan fuzzier.
  • Di tengah, kami memiliki masalah yang signifikan.
  • Di bagian bawah, kita bisa melihat posisi potongan, tetapi bayangannya tidak lebih lemah atau lebih kuat, hanya didistribusikan secara berbeda. Secara khusus, itu tidak menjadi lebih buruk, jika bayangan semakin kabur. Potongannya bahkan kurang terlihat, jika itu tidak terjadi pada segmen lurus, itulah sebabnya mungkin lebih baik bagi Anda untuk memotong lingkaran daripada bilah tengah.

¹ Anda dapat mencapai ini sebagai berikut:

  1. Jadikan potongan seperti biasa.
  2. Tambahkan simpul di tengah setiap tepi potong.
  3. Pindahkan setiap node ke luar dengan seperempat dari lebar² dari apa pun yang Anda potong.

² Untuk nilai ini, saya secara empiris menemukan distorsi bayangan paling rendah.

Wrzlprmft
sumber
Mari kita lanjutkan diskusi ini dalam obrolan .
Wrzlprmft